Exemplo n.º 1
0
 public static function create(ModuleConfig $ModuleConfigVO)
 {
     //criando variaveis para facilitar a adaptação
     $nomeDaClasse = $ModuleConfigVO->getModuleName();
     $arrayParametrosVO = $ModuleConfigVO->getArrayParamethers();
     $descricaoDaClasse = $ModuleConfigVO->getModuleDescription();
     $aliasModuleName = $ModuleConfigVO->getEntityName();
     $dataAtual = date("d/m/Y", time());
     $temp_stringVars = "";
     $temp_setFetchHandler = "";
     $temp_setFetchArrayHandler = "";
     $temp_sets = "";
     $temp_remove = "";
     $temp_gets = "";
     $temp_validations = "";
     foreach ($arrayParametrosVO as $ParametroVO) {
         if (FALSE) {
             $ParametroVO = new BaseInfoParametherVO($variableName, $variableType, $quantity, $acceptLocale, $defaultValue, $required, $reciveByDefault, $description, $orderInClass);
         }
         $temp_variable_name = $ParametroVO->getVariableName();
         // ----- DECLARANDO VARIAVEIS
         //concatena a declaração das variaveis da VO criada
         $temp_stringVars .= CreateVOClass::createDeclaredVariable($ParametroVO);
         //---------------------------------------------------- criando script de fetchObject
         $temp_setFetchHandler .= "\$this->" . $temp_variable_name . " = DataHandler::getValueByStdObjectIndex(\$object, \"" . $temp_variable_name . "\");\n\t\t\t";
         if ($ParametroVO->getReciveByDefault()) {
             //---------------------------------------------------- criando script de fetchArray
             $temp_setFetchArrayHandler .= "\$this->" . self::getMethodNameToSet($ParametroVO) . "(DataHandler::getValueByArrayIndex(\$array, \"" . $temp_variable_name . "\"));\n\t\t\t";
         }
         //---------------------------------------------------- criando metodos SET e GET
         // AQUI CRIANDO OS SETS
         $temp_sets .= self::createMethodSet($ParametroVO);
         //quando tem mais do que 1, precisa ter o metodo remove
         //AQUI CRIANDO O REMOVE
         if ($ParametroVO->getQuantity() != 1) {
             //se pode mais de um precisa do metodo remove
             $temp_remove .= self::createRemove($ParametroVO);
         }
         //AQUI CRIANDO O METODO GET (lembrando que ainda estamos dentro de um loop)
         //adicionando comentários
         $temp_gets .= self::createMethodGet($ParametroVO);
         //---------------------------------------------------- criando script de validação
         //antes ve se a variavel quer ser validada
         if ($ParametroVO->getRequired()) {
             //diz ser necessário, então faz a validação dependendo do tipo
             $temp_validations .= self::createScriptValidation($ParametroVO);
         }
     }
     $class_esqueleto = "\n\t/**\n\t * @desc\t\t{$descricaoDaClasse}\n\t * @author \t\tautoClass de Renato Miawaki - reytuty@gmail.com\n\t * @date\t\t{$dataAtual}\n\t */\n\tinclude_once 'library/facil3/core/vo/BaseVO.class.php';\n\tclass {$nomeDaClasse}VO extends BaseVO {\n\t\t//private vars cache de parameter ou link\n\t\t{$temp_stringVars}\n\t\tpublic function __construct(\$arrayFetchPost = NULL){\n\t\t\tparent::_construct(\$arrayFetchPost);\n\t\t\t//o default seria ter o __table como content, caso mude, continua gravando na tabela content,\n\t\t\t//mas links e relacionamentos ficam ligadas a esse alias\n\t\t\t\$this->__table = \"{$aliasModuleName}\";\n\t\t\t//se enviar \$arrayFetchPost é para distrinchar internamente os dados do usuario\n\t\t\tif(\$arrayFetchPost !== NULL){\n\t\t\t\t//enviou array para distrinchar\n\t\t\t\t\$this->setFetchArray(\$arrayFetchPost);\n\t\t\t}\n\t\t}//end construct\n\t\t//setFetchObject\n\t\tpublic function setFetchObject(\$object){\n\t\t\t{$temp_setFetchHandler}\n\t\t}\n\t\t//setFetchArray\n\t\tpublic function setFetchArray(\$array){\n\t\t\t{$temp_setFetchArrayHandler}\n\t\t}\n\t\t//metodos sets\n\t\t{$temp_sets}\n\t\t//metodos remove\n\t\t{$temp_remove}\n\t\t//metodos get\n\t\t{$temp_gets}\n\t\t//validation\n\t\tpublic function validate(){\n\t\t\t\$ReturnResultVO = new ReturnResultVO();\n\t\t\t\$ReturnResultVO->success = TRUE;\n\t\t\t{$temp_validations}\n\t\t\treturn \$ReturnResultVO;\n\t\t}\n\t}";
     return $class_esqueleto;
 }