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; }