private function factory($arrStrDados)
 {
     $obj = new Fornecedor();
     if (isset($arrStrDados["FOR_ID"])) {
         $obj->setId($arrStrDados["FOR_ID"]);
     }
     $objBanco = new Banco();
     if (isset($arrStrDados["BAN_ID"])) {
         $objBanco->setId($arrStrDados["BAN_ID"]);
     }
     if (isset($arrStrDados["BAN_Descricao"])) {
         $objBanco->setDescricao($arrStrDados["BAN_Descricao"]);
     }
     $obj->setBanco($objBanco);
     $membro = new Membro();
     if (isset($arrStrDados["PES_ID"])) {
         if ($arrStrDados["PES_ID"] > 0) {
             $arrConsultaMembro["PES_ID"] = $arrStrDados["PES_ID"];
             $arrDadosMembro = FachadaCadastro::getInstance()->consultarMembro($arrConsultaMembro);
             if ($arrDadosMembro != null) {
                 $membro = $arrDadosMembro["objects"][0];
             }
         }
     }
     $obj->setMembro($membro);
     if (isset($arrStrDados["FOR_NomeFantasia"])) {
         $obj->setNomeFantasia($arrStrDados["FOR_NomeFantasia"]);
     }
     if (isset($arrStrDados["FOR_RazaoSocial"])) {
         $obj->setRazaoSocial($arrStrDados["FOR_RazaoSocial"]);
     }
     if (isset($arrStrDados["FOR_CNPJ"])) {
         $obj->setCNPJ($arrStrDados["FOR_CNPJ"]);
     }
     if (isset($arrStrDados["FOR_InscricaoEstadual"])) {
         $obj->setInscricaoEstadual($arrStrDados["FOR_InscricaoEstadual"]);
     }
     if (isset($arrStrDados["FOR_DataFundacao"])) {
         $obj->setDataFundacao($arrStrDados["FOR_DataFundacao"]);
     }
     if (isset($arrStrDados["FOR_RamoAtividade"])) {
         $obj->setRamoAtividade($arrStrDados["FOR_RamoAtividade"]);
     }
     if (isset($arrStrDados["FOR_Agencia"])) {
         $obj->setAgencia($arrStrDados["FOR_Agencia"]);
     }
     if (isset($arrStrDados["FOR_Conta"])) {
         $obj->setConta($arrStrDados["FOR_Conta"]);
     }
     if (isset($arrStrDados["FOR_Site"])) {
         $obj->setSite($arrStrDados["FOR_Site"]);
     }
     if (isset($arrStrDados["FOR_Observacao"])) {
         $obj->setObservacao($arrStrDados["FOR_Observacao"]);
     }
     $objEndereco = new Endereco();
     if (isset($arrStrDados["FOR_EnderecoLogradouro"])) {
         $objEndereco->setLogradouro($arrStrDados["FOR_EnderecoLogradouro"]);
     }
     if (isset($arrStrDados["FOR_EnderecoNumero"])) {
         $objEndereco->setNumero($arrStrDados["FOR_EnderecoNumero"]);
     }
     if (isset($arrStrDados["FOR_EnderecoComplemento"])) {
         $objEndereco->setComplemento($arrStrDados["FOR_EnderecoComplemento"]);
     }
     if (isset($arrStrDados["FOR_EnderecoBairro"])) {
         $objEndereco->setBairro($arrStrDados["FOR_EnderecoBairro"]);
     }
     if (isset($arrStrDados["FOR_EnderecoCidade"])) {
         $objEndereco->setCidade($arrStrDados["FOR_EnderecoCidade"]);
     }
     if (isset($arrStrDados["FOR_EnderecoUf"])) {
         $objEndereco->setUf($arrStrDados["FOR_EnderecoUf"]);
     }
     if (isset($arrStrDados["FOR_EnderecoCep"])) {
         $objEndereco->setCep($arrStrDados["FOR_EnderecoCep"]);
     }
     if (isset($arrStrDados["FOR_EnderecoPontoReferencia"])) {
         $objEndereco->setPontoReferencia($arrStrDados["FOR_EnderecoPontoReferencia"]);
     }
     if (isset($arrStrDados["FOR_Status"])) {
         $obj->setStatus($arrStrDados["FOR_Status"]);
     } else {
         $obj->setStatus("A");
     }
     if (isset($arrStrDados["FOR_Tipo"])) {
         $obj->setTipo($arrStrDados["FOR_Tipo"]);
     } else {
         $obj->setTipo("PJ");
     }
     $obj->setEndereco($objEndereco);
     return $obj;
 }