public static function gerarFonte(visualizacao $visualizacao, $dadosGerador)
 {
     CUtilitario_geradorGerarFonte::$entidade = $dadosGerador;
     CUtilitario_geradorGerarFonte::$entidade['ng_nome'] = array_map('caracteres::RetiraAcentos', CUtilitario_geradorGerarFonte::$entidade['ng_nome']);
     CUtilitario_geradorGerarFonte::$entidade['bd_campo'] = array_map('caracteres::RetiraAcentos', CUtilitario_geradorGerarFonte::$entidade['bd_campo']);
     $arNome = explode(' ', strtolower(caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['entidade'])));
     $nome = array_shift($arNome);
     $arNome = array_map("ucFirst", $arNome);
     array_unshift($arNome, $nome);
     CUtilitario_geradorGerarFonte::$nomeEntidade = implode('', $arNome);
     CUtilitario_geradorGerarFonte::$nomeNegocio = 'N' . ucFirst(CUtilitario_geradorGerarFonte::$nomeEntidade);
     CUtilitario_geradorGerarFonte::$nomeTabela = caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['nomeTabela']);
     CUtilitario_geradorGerarFonte::$nomeSequence = caracteres::RetiraAcentos(CUtilitario_geradorGerarFonte::$entidade['nomeSequence'] ? CUtilitario_geradorGerarFonte::$entidade['nomeSequence'] : "sq_{CUtilitario_geradorGerarFonte::{$nomeTabela}}");
     if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade)) {
         mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade, 0777);
     }
     chmod(CUtilitario_geradorGerarFonte::$nomeEntidade, 2777);
     if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes")) {
         mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes", 0777);
     }
     chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/classes", 2777);
     if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml")) {
         mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml", 0777);
     }
     chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/xml", 2777);
     if (!is_dir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html")) {
         mkdir(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html", 0777);
     }
     chmod(CUtilitario_geradorGerarFonte::$nomeEntidade . "/html", 2777);
     umask(0111);
     $visualizacao->entidade = CUtilitario_geradorGerarFonte::$entidade['entidade'];
     $visualizacao->pacote = CUtilitario_geradorGerarFonte::$entidade['entidade'];
     $visualizacao->classe = 'class';
     CUtilitario_geradorGerarFonte::montarArquivoDefinicaoXML($visualizacao);
     CUtilitario_geradorGerarFonte::montarArquivoInternacionalizacaoXML($visualizacao);
     CUtilitario_geradorGerarFonte::montarPersistente($visualizacao);
     CUtilitario_geradorGerarFonte::montarNegocio($visualizacao);
     CUtilitario_geradorGerarFonte::montarInternacionalizacao($visualizacao);
     CUtilitario_geradorGerarFonte::montarControleExcluir($visualizacao);
     CUtilitario_geradorGerarFonte::montarControleGravar($visualizacao);
     //CUtilitario_geradorGerarFonte::montarControleMudarPagina($visualizacao);
     //CUtilitario_geradorGerarFonte::montarControlePesquisar($visualizacao);
     CUtilitario_geradorGerarFonte::montarControleVerEdicao($visualizacao);
     CUtilitario_geradorGerarFonte::montarControleVerPesquisa($visualizacao);
     CUtilitario_geradorGerarFonte::montarTemplateVerEdicao($visualizacao);
     CUtilitario_geradorGerarFonte::montarTemplateVerPesquisa($visualizacao);
     exec("chmod -R 777 " . CUtilitario_geradorGerarFonte::$nomeEntidade);
     if (CUtilitario_geradorGerarFonte::$debug) {
         die;
     }
     if (isset(CUtilitario_geradorGerarFonte::$entidade['recriarBase'])) {
         $persistente = definicaoEntidade::persistente(CUtilitario_geradorGerarFonte::$nomeNegocio);
         $conexao = conexao::criar();
         $obPersistente = new $persistente($conexao);
         $obPersistente->recriar();
     }
 }