format 221 "orm" // iplan::orm revision 237 modified_by 5 "jviqueira" // class settings classdiagramsettings member_max_width 0 end classcompositediagramsettings end usecasediagramsettings end sequencediagramsettings end collaborationdiagramsettings end objectdiagramsettings end objectcompositediagramsettings end componentdiagramsettings end deploymentdiagramsettings end statediagramsettings end activitydiagramsettings end php_dir "iplan/orm" classview 134533 "ORM Class Diagram" classdiagramsettings member_max_width 0 end classcompositediagramsettings end collaborationdiagramsettings end objectdiagramsettings end objectcompositediagramsettings end sequencediagramsettings end statediagramsettings end activitydiagramsettings end associated_deployment_view deploymentview_ref 141189 // ORM Deployment comment "La idea tras este esquema es que los objetos que tengan que tener un estado persistente sean especializaciones de DataBaseObject. Las clases del esquema proveen: - abstracción del motor de base de datos (a través de las clases de iplan.database) - una forma de extender clases preocupandose sólo de los atributos propios de la subclase, simplificando la construcción de jerarquias. Esto se logra a través del método setTable() y addField() del ORM Definition. - servicios de mantenimiento de objetos como el guardado o carga selectiva (sólo si es necesario), almacenamiento recursivo de las collecciones de objetos y otros relacionados (consulta de objetos en memoria, etc...) * El guardado selectivo se realiza en el método SAVE en base al recalculo del hash y la comparación con el hash original, si son diferentes es que el objeto cambio y debe guardarse. Además si el ID esta seteado se hace un UPDATE y sino un INSERT. * La carga selectiva o la detección de aquellos objetos que ya han sido recuperados se realiza en el método LOAD, preguntando primero si al ORM si ya tiene registrado un objeto de esa clase, con el ID indicado. ORM cuenta con métodos para registrar y desregistrar objetos y mantiene una colección de los objetos recuperados en un arreglo llamado \"objects[clase][id]\". * Para saber cuales campos son colecciones de objetos, hay un tipo que es COLLECTION. Cuando se hace Save, se verifica si el atributo es de tipo collection, si es así se lo deja para actualizarse al final. Primero se actualiza el registro del objeto actual y luego se hace un loop sobre cada atributo collection guardando (ejecutando el método SAVE) cada elemento. ATENCION!!! Si se hace que la Definición soporte una tabla para LOAD y otra para SAVE se pueden hacer migraciones!!! :) " classdiagram 141189 "ORM Classes" classdiagramsettings draw_all_relations no show_members_full_definition no member_max_width 0 show_parameter_name yes end comment "DUDA: El objeto hereda de DatabaseObject. DatabaseObject redirecciona todos los atributos de la instancia a las posiciones de memoria de un array, utilizando para ello la información del ORMDefinition del objeto en cuestión. El Array donde se direccionan los atributos es una instancia de ORMAttributes. ORMAttributes es el encargado de saber qué tablas se modificaron y cuales no. //El modo de uso de esta jerarquía sería el siguiente: Class Client extends DataBaseObject { ... define() { $definition = super->define(); $definition->setTable('PERSON') ->addField('person_id', INT, true) ->addField('person_name', STRING, false) ->addField('person_age', INT, false); $definition->setTable('CLIENT') ->addField('client_id', INT, true) ->addField('client_person', INT, false) ->addField('client_number', LONG, false); return $definition; } } Se permite más de una tabla para el caso de que las jerarquías se implementen en tablas distintas. El método \"setTable\" setea una variable predeterminada y los subsiguientes llamados a métodos de configuración del ORM toman esa tabla como predeterminada. OJO: es de fundamental importancia respetar el setTable(), los llamados a todo lo que tenga que ver a esa tabla y recién luego llamar de nuevo a setTable(). Es decir, NO SE PUEDE hacer: setTable('PERSON'); setTable('CLIENT'); addField(...) Porque todos los llamados a addField() se asociarían con CLIENT y no con PERSON. Con esto es posible \"determinar\" con cierta atomicidad qué tabla requiere actualización. Se debe llevar un HASH por cada tabla y uno global del objeto: ormData['table']['orm_hash']=SHA1('...'); ormData['orm_hash']=SHA1('...'); También (debido a la particularidad del uso de las base de datos) es necesario setear las funciones que hagan la administración en cada tabla. Esto se hace con los métodos: setInsertProcedure('yoDoyAlta(:name, :age)', RETURN_ID|NOT_RETURN_ID, 'table'); TECNICA: así como el ORM tiene una caché de todo, las clases de los objetos pueden ahorrar bastante costo de memoria si en vez de instanciar N veces las mismas variables y setearlas en su constructor, las \"referencian\" de un 3er objeto. Sugerido por FlyWeight pattern. " size A2 end class 295685 "AbstractDataBase" abstract visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Acá se abstraerá la plataforma de base de datos" operation 433285 "getData" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "fields" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Dada una tabla y el identificador de registros, devuelve los valores de los campos especificados. @abstract @param $table string el nombre de la tabla @param $id long el identificador de la fila en la que estamos interesados @param $fields array un arreglo de strings con los nombres de las columnas a recuperar @return array|false un arreglo asociativo (field=>value) con los valores recuperados de la base o false si hubo algún error." end operation 433413 "getField" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "field" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Retorna el valor del campo especificado. El nombre de la columna debe ser el simil al campo definido en la base de datos. La intención es usarlo para recuperar campos BLOB, CLOB y otros \"pesados\" sobre demanda. @param string $table el nombre de la tabla @param int $id el identificador del registro @param string $field el nombre del campo a recuperar @return mixed el valor del campo recuperado." end operation 433541 "filter" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 6 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" param in name "order" explicit_type "array" defaultvalue "\"\"" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Igual a getData() pero múltiples filas. La idea sería recibir \"cuaternas\" que armen el SQL a ejecutar en base a la iteración sobre los parámetros (hasta que se acaben) y un gran switch sobre \"operation\". @param string $table el nombre de la tabla desde la cual recuperar los datos @param array $fields un arreglo de strings con los nombres de los campos a recuperar @param array $conditions otro arreglo con los condicionales codificados, cada uno, de la siguiente forma:array(operation, leftValue, rightValue, connector). Usar AbstractDataBase::makeCondition(). @param array $order se pasa aquí un arreglo de strings con formato \"nombreColumna [ASC|DESC]\", lo cual ordenará el conjunto de resultados. @param int $from indica a partir de qué fila del resultset se desea acceder. Si se indica null trae desde la primer fila. @param int $count indica cuántas filas a partir del $from se deben recuperar, si se indica null se recuperan todas. @return array|false el conjunto de resultados o falso si hubo algún error " end operation 433669 "insert" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "int" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "useGenerator" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Inserta un registro en la tabla con los campos que se indiquen. @param string $table el nombre de la tabla en la que se desea insertar @param array $fields un arreglo con los campos a insertar. Nótese que las claves son los FieldNames y que allí se instarán los valores de dichas claves. @param boolean $useGenerator un booleano que indica si al hacer un insert se debe autodetectar la clave primaria y emplear el generador de dicha clave o si sólo se emplean los valores pasados por parámetro. @return int el identificador con el cual quedó el registro en la tabla. " end operation 433797 "update" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Realiza un UPDATE sobre la tabla y los campos indicados, es parecido a filter. @param string $table el nombre de la tabla a actualizar @param array $fields un arreglo cuyas claves son los nombres de los campos a actualizar. @param array $conditions otro arreglo donde cada elemento es un arreglo con el siguiente formato: array(field, operation, value1, value2, connector) el cual se puede generar con la función makeCondition() de cualquier miembro de la jerarquía de AbstractDataBase. @return int|false el número de filas afectadas o false si hubo error" end operation 440325 "delete" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "table" explicit_type "string" param in name "what" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Borra un registro de la tabla según su id o un conjunto de condiciones. @param string $table el nombre de la tabla sobre la cual hacer el borrado. @param int|array $what puede ser un entero (el id) o un arreglo de condiciones. @return int|false la cantidad de filas afectadas o false si hubo error" end operation 596997 "addRelation" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 603781 "delRelation" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Quita un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos para filtrar @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 446853 "count" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 1 param inout name "coded_sql" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Similar a execute() pero sólo contabiliza la cantidad de registros." end operation 542213 "makeCondition" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 4 param in name "operation" explicit_type "string" param in name "leftValue" explicit_type "mixed" param in name "rightValue" explicit_type "mixed" param in name "connector" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Función de utilería para crear una condición @param string $operation la operación de comparación o verificación: =, <>, LIKE, IN, NOT, BETWEEN. En el caso de IN la función espera que el rightValue sea un array y separa sus componentes por \",\" y los encierra entre paréntesis. @param mixed $leftValue el primer operando @param mixed $rightValue el segundo operando @connector string $connector el conector con el que se debe unir esta condición con la siguiente (AND, OR) @return array el arreglo de la condición formateado" end classrelation 450949 // relation 450053 -_-> a default php "${type}" classrelation_ref 450949 // b parent class_ref 361221 // DMLOperationFailed end operation 589829 "php2db" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores PHP a la representación necesaria para que la base de datos lo entienda. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor que requiere la base de datos" end operation 589957 "db2php" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores devueltos por la base de datos a la representación PHP solicitada. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor convertido a su representación PHP más próxima" end operation 596741 "getDateTime" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "datetime" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna un valor de fecha y hora de la base. @return datetime El momento en el cual se efectúa el llamado según la base de datos." end operation 693637 "getConnection" abstract preserve_cpp_body_indent cpp_virtual public return_type class_ref 174341 // Connection nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la conexión usada por la instancia. @return Connection La conexión que utiliza la instancia de base de datos" end operation 2059141 "updateLob" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 5 param in name "table" explicit_type "string" param in name "id" explicit_type "string" param in name "field" explicit_type "string" param inout name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Graba un campo de LOB (CLOB, BLOB, etc...) @param $table string el nombre de la tabla @param $id string el identificador de la fila en la tabla @param $field string el nombre del campo donde se guardará el valor @param $value mixed el valor a guardar @param $type int el tipo de LOB de que se trata. @return bool devuelve TRUE si todo salió bien y FALSE en caso contrario" end end class 308741 "OracleDatabase" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" classrelation 350469 // relation 349701 ---|> a public php "${type}" classrelation_ref 350469 // b parent class_ref 295685 // AbstractDataBase end attribute 308741 "connection" protected type class_ref 201989 // OracleConnection cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn set_oper operation_ref 481669 // setConnection comment "@var OracleConnection una conexión a la base de datos Oracle" end attribute 315269 "statements" private explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "Un array con todos los prepared statements para llamar a los procedures del package" end attribute 1415045 "version2Enabled" private explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var bool indica si se activa el uso del paquete optimizado o no." end attribute 1415173 "package" private explicit_type "string" init_value "'PKG_WEB_ACCESSOR'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string el nombre del paquete de Oracle a utilizar" end operation 481669 "setConnection" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" type class_ref 201989 // OracleConnection cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->connection = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 308741 // connection end operation 453381 "__construct" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "connection" type class_ref 201989 // OracleConnection preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Crea una abstracción de la base de datos. @param OracleConnection $connection una conexión a la base de datos deseada. @return OracleDatabase una instancia de OracleDatabase que sirve para trabajar con el ORM." end operation 453509 "getData" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "fields" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Dada una tabla y el identificador de registros, devuelve los valores de los campos especificados. @param $table string el nombre de la tabla @param $id long el identificador de la fila en la que estamos interesados @param $fields array un arreglo de strings con los nombres de las columnas a recuperar @return array|false un arreglo asociativo (field=>value) con los valores recuperados de la base o false si hubo algún error." end operation 453637 "filter" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 6 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" param in name "order" explicit_type "array" defaultvalue "\"\"" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Igual a getData() pero múltiples filas. La idea sería recibir \"cuaternas\" que armen el SQL a ejecutar en base a la iteración sobre los parámetros (hasta que se acaben) y un gran switch sobre \"operation\". @param string $table el nombre de la tabla desde la cual recuperar los datos @param array $fields un arreglo de strings con los nombres de los campos a recuperar @param array $conditions otro arreglo con los condicionales codificados, cada uno, de la siguiente forma:array(operation, leftValue, rightValue, connector). Usar AbstractDataBase::makeCondition(). @param array $order se pasa aquí un arreglo de strings con formato \"nombreColumna [ASC|DESC]\", lo cual ordenará el conjunto de resultados. @param int $from indica a partir de qué fila del resultset se desea acceder. Si se indica null trae desde la primer fila. @param int $count indica cuántas filas a partir del $from se deben recuperar, si se indica null se recuperan todas. @return array|false el conjunto de resultados o falso si hubo algún error " end operation 453765 "getField" preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "field" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Retorna el valor del campo especificado. El nombre de la columna debe ser el simil al campo definido en la base de datos. La intención es usarlo para recuperar campos BLOB, CLOB y otros \"pesados\" sobre demanda. @param string $table el nombre de la tabla @param int $id el identificador del registro @param string $field el nombre del campo a recuperar @return mixed el valor del campo recuperado." end operation 453893 "insert" preserve_cpp_body_indent cpp_virtual public explicit_return_type "int" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "useGenerator" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Inserta un registro en la tabla con los campos que se indiquen. @param string $table el nombre de la tabla en la que se desea insertar @param array $fields un arreglo con los campos a insertar. Nótese que las claves son los FieldNames y que allí se instarán los valores de dichas claves. @param boolean $useGenerator un booleano que indica si al hacer un insert se debe autodetectar la clave primaria y emplear el generador de dicha clave o si sólo se emplean los valores pasados por parámetro. @return int el identificador con el cual quedó el registro en la tabla. " end operation 454021 "update" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Realiza un UPDATE sobre la tabla y los campos indicados, es parecido a filter. @param string $table el nombre de la tabla a actualizar @param array $fields un arreglo cuyas claves son los nombres de los campos a actualizar. @param array $conditions otro arreglo donde cada elemento es un arreglo con el siguiente formato: array(field, operation, value1, value2, connector) el cual se puede generar con la función makeCondition() de cualquier miembro de la jerarquía de AbstractDataBase. @return int|false el número de filas afectadas o false si hubo error" end operation 2045573 "updateBinary" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "string" param in name "field" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Realiza un UPDATE sobre la tabla y los campos indicados, es parecido a filter. @param string $table el nombre de la tabla a actualizar @param string $id el identificador de la fila a actualizar @param string $field el campo a actualizar. @return int|false el número de filas afectadas o false si hubo error" end operation 454149 "delete" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "table" explicit_type "string" param in name "what" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Borra un registro de la tabla según su id o un conjunto de condiciones. @param string $table el nombre de la tabla sobre la cual hacer el borrado. @param int|array $what puede ser un entero (el id) o un arreglo de condiciones. @return int|false la cantidad de filas afectadas o false si hubo error" end operation 597125 "addRelation" preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 603909 "delRelation" preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Quita un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos para filtrar @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 454277 "count" preserve_cpp_body_indent cpp_virtual public explicit_return_type "int" nparams 1 param inout name "coded_sql" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Similar a execute() pero sólo contabiliza la cantidad de registros." end operation 549381 "imp" preserve_cpp_body_indent public explicit_return_type "string" nparams 2 param in name "dataType" explicit_type "string" param in name "params" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Devuelve un string con el tipo de datos instanciado y los valores de los params unidos separados por coma (,). Si el arreglo es vacío entonces devuelve el string NULL. @param string $dataType el nombre del tipo de datos (será puesto en mayúsculas y antecedido del nombre del package. @param array $params un arreglo de strings que contiene los valores. Los mismos serán puestos entre comillas simples y concatenados separados por coma (,). @return string un string que debe concatenarse directamente con la instrucción, consistente del package.dataType('value1', 'value2',...) o NULL" end operation 603653 "makeCondition" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 4 param in name "operation" explicit_type "string" param in name "leftValue" explicit_type "mixed" param in name "rightValue" explicit_type "mixed" param in name "connector" explicit_type "string" defaultvalue "\"AND\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Función de utilería para crear una condición @param string $operation la operación de comparación o verificación: =, <>, LIKE, IN, NOT, BETWEEN. En el caso de IN la función espera que el rightValue sea un array y separa sus componentes por \",\" y los encierra entre paréntesis. @param mixed $leftValue el primer operando @param mixed $rightValue el segundo operando @connector string $connector el conector con el que se debe unir esta condición con la siguiente (AND, OR) @return array el arreglo de la condición formateado" end operation 590085 "php2db" preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores PHP a la representación necesaria para que la base de datos lo entienda. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor que requiere la base de datos" end operation 590213 "db2php" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores devueltos por la base de datos a la representación PHP solicitada. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor convertido a su representación PHP más próxima" end operation 596869 "getDateTime" preserve_cpp_body_indent cpp_virtual public explicit_return_type "datetime" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna un valor de fecha y hora de la base. @return datetime El momento en el cual se efectúa el llamado según la base de datos." end operation 631813 "sql_filter" preserve_cpp_body_indent public explicit_return_type "string" nparams 4 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "alias" explicit_type "string" defaultvalue "\"\"" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Es una implementación especial que se utiliza para brindar soporte a ORMQuery. Toma una tabla, el conjunto de campos de retorno y la lista de condiciones de filtrado retornando una representación de la misma. @param string $table el nombre de la tabla sobre la que se va a filtrar. @param array $fields una lista de los nombres de los campos a retornar. @param array $conditions las condiciones de filtrado. Para generar la lista use makeCondition(). @return Una representación encapsulada de la consulta. @see sql_add_condition() @see sql_execute()" end operation 638341 "sql_add_condition" preserve_cpp_body_indent public explicit_return_type "string" nparams 6 param inout name "main_sql" explicit_type "string" param in name "table" explicit_type "string" param in name "field" explicit_type "string" param in name "operator" explicit_type "string" param inout name "sql_select" explicit_type "string" param in name "alias" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Agrega una condición de IN o NOT IN al sql indicado en base a otro select. @param string $main_sql el sql codificado producto de un llamado previo a sql_filter() o sql_add_condition() @param string $table el nombre de la tabla a la que pertenece el field que se va a filtrar @param string field el campo que se validará @param string operator el tipo de filtrado ('IN' o 'NOT IN') @param string sql_select el select codificado que recupera la lista de claves @param string alias por ahora no se usa y debe pasarse como \"\" @return string un sql codificado. @see sql_filter() @see sql_execute()" end operation 828805 "sql_add_where" preserve_cpp_body_indent public explicit_return_type "string" nparams 2 param inout name "coded_sql" explicit_type "string" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega una condición general (global) a la instrucción SQL codificada. @param string $coded_sql el SQL Codificado @param array $conditions las condiciones a agregar @return string el SQL resultante encriptado" end operation 822021 "sql_join_table" preserve_cpp_body_indent public explicit_return_type "string" nparams 6 param inout name "coded_sql" explicit_type "string" param in name "table" explicit_type "string" param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" param in name "joinType" explicit_type "string" defaultvalue "'INNER'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $coded_sql el sql codificado a modificar @param string $table la tabla contra la que se va a hacer el JOIN @param string $alias el alias de la tabla @param array $fields los nuevos fields a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados @param string $joinType el tipo de unión (JOIN) que se hará entre las consultas. @return string La consulta resultante." end operation 822277 "sql_join" preserve_cpp_body_indent public explicit_return_type "" nparams 5 param inout name "coded_sql" explicit_type "string" param inout name "coded_sql2" explicit_type "string" param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $coded_sql el sql codificado a modificar @param string $coded_sql2 la otra consulta contra la que se va a hacer el JOIN @param string $alias el alias de la tabla @param array $fields los nuevos fields a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados" end operation 638469 "sql_execute" preserve_cpp_body_indent public explicit_return_type "array" nparams 4 param inout name "coded_sql" explicit_type "string" param in name "order" explicit_type "array" defaultvalue "null" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Ejecuta una consulta codificada con sql_filter() o sql_add_condition(). @param string $coded_sql la consulta codificada a ejecutar @param array $order un arreglo con los nombres de los campos para el ordenamiento... se puede poner un espacio y ASC o DESC según se desee. @param int $from el primer registro del conjunto de resultados @param int $count la cantidad de registros que se espera leer @return array un arreglo con los campos solicitados @see sql_filter() @see sql_add_condition()" end operation 693765 "getConnection" preserve_cpp_body_indent cpp_virtual public return_type class_ref 174341 // Connection nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la conexión usada por la instancia. @return Connection La conexión que utiliza la instancia de base de datos" end operation 836101 "sql_execute2" preserve_cpp_body_indent public explicit_return_type "array" nparams 7 param inout name "coded_sql" explicit_type "string" param in name "groups" explicit_type "array" defaultvalue "null" param in name "order" explicit_type "array" defaultvalue "null" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" param in name "maxFetch" explicit_type "int" defaultvalue "null" param in name "lobFields" explicit_type "array" defaultvalue "null" nexceptions 1 exception class_ref 949765 // APIGoogleApps preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}${)} { ${body}} " preserve_python_body_indent comment "Ejecuta una consulta codificada con sql_filter() o sql_add_condition(). @param string $coded_sql la consulta codificada a ejecutar @param array $groups un arreglo con los campos que se agruparán de la consulta @param array $order un arreglo con los nombres de los campos para el ordenamiento... se puede poner un espacio y ASC o DESC según se desee. @param int $from el primer registro del conjunto de resultados @param int $count la cantidad de registros que se espera leer @param int $maxFetch de ser especificado, la consulta se resuelve recuperando los datos de a bloques de ese tamaño (el tamaño se refiere a cantidad de filas, no tamaño del resultset) @param array $lobFields en caso de especificarse, el método se cuidará de recuperar las filas de a una y cargar los valores de los LOBs @return array un arreglo con los campos solicitados @see sql_filter() @see sql_add_condition()" end operation 836485 "sql_set_columns" preserve_cpp_body_indent public explicit_return_type "string" nparams 4 param inout name "coded_sql" explicit_type "string" param in name "columns" explicit_type "array" param in name "replace" explicit_type "bool" defaultvalue "true" param in name "distinct" explicit_type "bool" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Agrega o reemplaza el from de una sentencia SQL. @param string $coded_sql el SQL Codificado @param array $columns las columnas a agregar @param boolean $replace especifica si el from existente debe preservarse o no. @param boolean $distinct especifica si se agrega la palabra DISTINCT luego del SELECT. Este cambio es NO REVERSIBLE!! @return string el SQL resultante encriptado" end operation 1974661 "enableBoost" preserve_cpp_body_indent public return_type class_ref 308741 // OracleDatabase nparams 1 param in name "enable" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Hace que el ORM mejore su performance drásticamente =) @param bool $enable un booleano en true para habilitar las nuevas características y false para seguir con las viejas. @return OracleDatabase la base de datos con el flag activado" end operation 1974789 "isBoostEnabled" preserve_cpp_body_indent public return_type class_ref 308741 // OracleDatabase nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Consulta sobre el rendimiento de la base de datos @return boolean indica si la conexión está en modo boost" end operation 2059397 "updateLob" preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 5 param in name "table" explicit_type "string" param in name "id" explicit_type "string" param in name "field" explicit_type "string" param inout name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Graba un campo de LOB (CLOB, BLOB, etc...) @param $table string el nombre de la tabla @param $id string el identificador de la fila en la tabla @param $field string el nombre del campo donde se guardará el valor @param $value mixed el valor a guardar @param $type int el tipo de LOB de que se trata. @return bool devuelve TRUE si todo salió bien y FALSE en caso contrario" end end class 141317 "ORMObject" abstract visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" ncouples 1 key "other_requires" value "require_once('ORM.php'); require_once('ORMDefinition.php');" comment "Se trata de una interfaz que implementa los métodos necesarios para brindar servicios de almacenamiento y recuperación del objeto en la base de datos En conjunto con ORM y las clases auxiliares, dan una solución integral para la gestión del mapeo relacional. //TODO: se podría reducir mucho código haciendo una función \"getMyDefinition()\" que busque la definición del objeto ya sea que tenga o no el ORM." attribute 485893 "definition" class_attribute package type class_ref 236293 // ORMDefinition cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 141445 "id" public explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 467717 // getId set_oper operation_ref 467845 // setId comment "@var int El identificador del objeto" end attribute 238853 "ORMState" private explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 467973 // getORMState set_oper operation_ref 468101 // setORMState comment "Un estado que puede ser: NEW := NUEVO, es un objeto aún no persistido en la base de datos, pero que de seguir la secuencia de eventos culminará insertandose en la base. REMOVED := Es un objeto que se solicitó para remoción de la base de datos. Es posible que alguna referencia quede apuntando a él y accediendo sus valores, pero los mismos deberían ser descartados. Posiblemente algún programa de LOG quiera ver como estaba al momento del DELETE o algo así. REGISTERED := Significa que el objeto está persistido en la base de datos y que actualmente está bajo la vista del sistema ORM para preservar cualquier cambio. UNREGISTERED := Significa que el objeto no está bajo seguimiento del Manager de ORM. " end attribute 328709 "orm" protected type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM $orm la instancia de ORM que está gerenciando el objeto o null" end attribute 560261 "ORMModifying" private explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 342149 "ORMModifieds" private explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array un arreglo en el cual se almacenarán los campos modificados" end classrelation 376709 // relation 375941 -_-> a private php "${type}" classrelation_ref 376709 // b parent class_ref 236293 // ORMDefinition end operation 163077 "__destroy" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 177029 "__construct" preserve_cpp_body_indent public return_type class_ref 141317 // ORMObject nparams 1 param inout name "orm" type class_ref 167685 // ORM defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Constructor predeterminado de los objetos derivados del ORM. Recibe opcionalmente una instancia del ORM al cual se desea que se registre la instancia. Esto afecta el estado y si la instancia desde su nacimiento va a ser monitoreada por el ORM. @param ORM $orm una instancia del ORM que va a monitorear el objeto. @return ORMObject la instancia del objeto" end operation 760837 "isset__" preserve_cpp_body_indent public explicit_return_type "boolean" nparams 1 param in name "variablename" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "ANULADO POR AHORA. Devuelve TRUE si la variable existe. @param string $variablename el nombre de la variable. @return boolean Retorna TRUE si la variable se encuentra definida o FALSE sino." end operation 288133 "define" class_operation preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 1 param inout name "orm" type class_ref 167685 // ORM defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna un objeto de definición predeterminado al cual hay que agregarle los mapeos pertinentes. @param ORM $orm el manejador de ORM para el cual se registra la clase @return \\orm\\ORMDefinition la definición default" end operation 170373 "delete" preserve_cpp_body_indent public explicit_return_type "bool" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Borra físicamente un objeto de la base. Al borrarse el objeto además se ponen a null los campos de las entidades relacionadas que lo referenciaban y se eliminan los registros de las tablas relación M:N @return boolean un booleando TRUE si la operación fue concretada con éxito o FALSE sino." end operation 162949 "&load" class_operation preserve_cpp_body_indent public explicit_return_type "void" nparams 3 param in name "id" explicit_type "int" param inout name "orm" type class_ref 167685 // ORM param in name "class" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Recupera una instancia de la clase desde la base de datos. Este método además calcula el hash en base a los atributos. En combinación con el método save() permite abstraer a las clases subyacentes de la necesidad de determinar si el objeto fue alterado o no y si corresponde guardarlo. Finalmente este método registra el objeto en el ORM para su mantenimiento automático. @param $id int el identificador del objeto a recuperar @param $orm ORM el gestor que solicita el objeto @param string $class la clase que se quiere cargar. Si se omite se toma la clase invocada en forma predeterminada @return ORMObject una instancia con los valores precargados @todo prestar atención en el LOAD que si se hace una carga de objetos masiva, es necesario verificar que los mismos no esten PRE registrados en el ORM o si lo están y los hash no son los mismos enviar alguna excepción al usuario." end operation 156293 "save" preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 1 param inout name "orm" type class_ref 167685 // ORM defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Verifica si el objeto fue modificado y lo guarda. Este método permite abstraer a las clases descendientes de la necesidad de determinar si el objeto fue alterado o no y oculta la complejidad subyacente a las clases descendientes. @param ORM $orm opcionalmente se debe indicar la instancia del ORM que mantiene el objeto. Esto sólo es posible si el objeto es nuevo o DETACHED. En el caso que ya estuviera bajo monitoreo de un ORM arrojará una excepción. @return boolean Un true si todo anduvo bien, false (o una excepción) si algo falló. Se pensó que se podría hacer el cambio de un ORM a otro, pero el ID debería limpiarse, con lo cual sólo un INSERT se podría hacer sobre el destino y los objetos relacionados estarían aún con otro ORM lo cual es complicado (manejo de objetos distribuídos) por lo cual se deja a consideración en futuras versiones, posiblemente en otra vida =)" end operation 515717 "getAttributes" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "@todo ELIMINAR ESTA FUNCIÓN Retorna un arreglo de todos los atributos públicos y protegidos del objeto (además de algunos privados). Es para debug, no debe quedar en el objeto. @return array La lista de los atributos" end operation 467717 "getId" force_body_gen const cpp_inline public explicit_return_type "int" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->id; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 141445 // id end operation 467845 "setId" force_body_gen protected explicit_return_type "void" nparams 1 param in name "value" explicit_type "int" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->id = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 141445 // id end operation 467973 "getORMState" force_body_gen const cpp_inline public explicit_return_type "int" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->ORMState; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 238853 // ORMState end operation 468101 "setORMState" force_body_gen protected explicit_return_type "void" nparams 1 param in name "value" explicit_type "int" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->ORMState = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 238853 // ORMState end operation 495109 "isModified" preserve_cpp_body_indent public explicit_return_type "bool" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Indica si el objeto ha sufrido modificación en sus atributos. Debe destacarse que los atributos directos del objeto son los que participan de esta comprobación, por lo que las modificaciones en objetos asociados no son tenidas en cuenta. @return boolean true si el objeto ha sido mofificado y falso sino." end operation 495237 "reload" preserve_cpp_body_indent public explicit_return_type "bool" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "En el caso de los objetos que ya estén en base, vuelve a recargar la instancia con los valores de la base. @return boolean true si la recarga fue realizada con éxito o false sino" end operation 502277 "reset" preserve_cpp_body_indent protected explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Resetea todos los indicadores de cambios del objetos, asumiendo que el estado actual es el de la base de datos si es que está monitoreado." end operation 502405 "__call" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "method" explicit_type "string" param in name "args" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Magic Method sobreescrito para monitorear los pedidos a getXXX() y setXXX(). @param string $method el método invocado @prama array $args la lista de argumentos pasados como parámetro @return mixed|exception si se ejecuta un getXXX se verifica que los argumentos sean vacios y si se ejecuta cun setXXX se chequea que sólo un argumento sea pasado. Todo lo demás arroja una excepción en runtime." end classrelation 337029 // relation 336261 ---|> a public php "${type}" classrelation_ref 337029 // b parent class_ref 289157 // PrivateAccesor end classrelation 317061 // relation 316293 -_-> a package comment "Se usa para las relaciones 1:N y N:M" php "${type}" classrelation_ref 317061 // b parent class_ref 256133 // ORMCollection end classrelation 370181 // relation 369413 -_-> a default php "${type}" classrelation_ref 370181 // b parent class_ref 315269 // LazyLoader end classrelation 396421 // relation 395653 -_-|> a public php "${type}" classrelation_ref 396421 // b parent class_ref 269445 // ORM_STATUS end classrelation 409605 // relation 408837 -_-> a default php "${type}" classrelation_ref 409605 // b parent class_ref 321925 // InternalError end operation 549637 "pluralize" preserve_cpp_body_indent protected explicit_return_type "string" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna el plural de un nombre de atributo. @param string $attribute el nombre de atributo que queremos poner el plural @return string el nombre el plural." end classrelation 450821 // relation 449925 -_-> a default php "${type}" classrelation_ref 450821 // b parent class_ref 361221 // DMLOperationFailed end classrelation 464389 // relation 463365 -_-> a default php "${type}" classrelation_ref 464389 // b parent class_ref 367877 // ValueNotDefined end classrelation 471045 // relation 470021 -_-> a default php "${type}" classrelation_ref 471045 // b parent class_ref 328581 // UnknowORM end operation 897029 "getter" class_operation preserve_cpp_body_indent public explicit_return_type "string" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Genera el string correspondiente al getter del atributo. Por ejemplo: getter('miNombre') = 'getMiNombre'. @param string $attribute el nombre del atributo. @return string el getter" end operation 897157 "setter" class_operation preserve_cpp_body_indent public explicit_return_type "string" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna el plural de un nombre de atributo. @param string $attribute el nombre de atributo que queremos poner el plural @return string el nombre el plural." end classrelation 651525 // relation 648325 -_-> a default php "${type}" classrelation_ref 651525 // b parent class_ref 322053 // InstanceNotSaved end operation 931589 "debug" class_operation preserve_cpp_body_indent public explicit_return_type "" nparams 4 param in name "msj" explicit_type "string" param in name "ident" explicit_type "int" defaultvalue "0" param in name "inDebug" explicit_type "bool" defaultvalue "false" param in name "autoback" explicit_type "bool" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Chequea si se está en modo debug y en dicho caso imprime el mensaje indicado con la identación indicada" end attribute 586373 "identLvl" class_attribute private explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var el nivel de identación (1 nivel = 4 espacios)" end operation 1041541 "validate" preserve_cpp_body_indent public explicit_return_type "mixed" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Valida los atributos DIRECTOS del objeto según las reglas especificadas en la propia definición. No llama recursivo porque sería muy \"engorroso\" y factible de caer en la circunstancia de tener una recursión infinita. Tampoco se consideran en la validación aquellos atributos asignados con un LazyLoader, dado que si están en base se asume que están OK. @return mixed Retorna TRUE si todo está bien y una matriz 3 dimensional indexada por atributo, validación y errores. En caso que algo falle retorna una matríz con el siguiente formato: array ( 0 = > array ( attribute, array(\"Error 1\", \"Error 2\") ) ... ) " end classrelation 731397 // relation 728069 -_-> a default php "${type}" classrelation_ref 731397 // b parent class_ref 470277 // Validation end classrelation 745349 // relation 742021 -_-> a default php "${type}" classrelation_ref 745349 // b parent class_ref 519429 // ORMValidationException end operation 1511301 "isAttributeModified" preserve_cpp_body_indent public explicit_return_type "bool" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Devuelve si está o no modificado un cierto atributo. @param string $attribute El nombre del atributo a verificar. @return boolean un TRUE si el atributo ha sido efectivamente modificado, FALSE sino." end operation 1605509 "getModifiedAttributes" preserve_cpp_body_indent public explicit_return_type "Array" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna la lista de atributos modificados de la última sincronización con la base de datos. @return array Una lista de strings donde cada string es el nombre de un atributo modificado desde la última operación de sincronización." end operation 242694 "serializeToString" preserve_cpp_body_indent public explicit_return_type "string" nparams 1 param in name "format" explicit_type "string" defaultvalue "'default'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Sirve para guardar un ORMObject en un string @var string $format El formato a utilizar @return string" end operation 242822 "unserializeFromString" preserve_cpp_body_indent public return_type class_ref 141317 // ORMObject nparams 1 param in name "s" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Desserializa desde un string @return ORMObject" end end class 167685 "ORM" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "La clase ORM lleva referencias a todos los objetos recuperados o creados en la sesión y puede utilizarse para saber qué cosas están cargadas y qué no." classrelation 337157 // relation 336389 ---|> a public php "${type}" classrelation_ref 337157 // b parent class_ref 289157 // PrivateAccesor end classrelation 493445 // relation 491653 -_-> a private php "${type}" classrelation_ref 493445 // b parent class_ref 389637 // ORMQuery end attribute 238981 "orm" class_attribute private type class_ref 167685 // ORM init_value "null" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar ORM La variable de clase que almacena la instancia del SINGLETON." end attribute 279173 "autosave" private explicit_type "bool" init_value "true" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 502021 // getAutosave set_oper operation_ref 502149 // setAutosave comment "@var boolean flag que indica si las transacciones se guardan automáticamente al terminarse la sesión o si los cambios se van a guardar explíscitamente." end attribute 279301 "bindObjectsOnCreate" private explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 501765 // getBindObjectsOnCreate set_oper operation_ref 501893 // setBindObjectsOnCreate comment "@var boolean una variable que indica si los objetos al instanciarse se deben registrar o no con el ORM." end attribute 479365 "debug" private explicit_type "bool" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 700293 // getDebug set_oper operation_ref 700421 // setDebug comment "@var boolean indica si se está ejecutando en modo debug" end attribute 547077 "language" private explicit_type "string" init_value "'EN'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string El lenguaje en el cual conjuga los nombres el ORM." end attribute 1635973 "maxFetchRows" private explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int la cantidad de filas que se recuperarán como máximo por vez en las querys internas. Esto no limita la cantidad de resultados, sino que sirve de límite de consulta individual, los resultsets que tengan más filas se recuperarán en N consultas sucesivas." end classrelation 168709 // objects () relation 168197 o--> a role_name "objects" multiplicity "*" init_value "array()" private comment "@var array una colección de objetos que constituyen la caché del ORM" php " ${comment}${visibility}${const}${static}${var}${name}${value}; " classrelation_ref 168709 // objects () b parent class_ref 141317 // ORMObject get_oper operation_ref 576773 // getObjects end classrelation 383237 // database () relation 382469 ---> a role_name "database" private comment "@var AbstractDataBase la instancia de la abstracción de la base de datos que el ORM debe utilizar" php " ${comment}${visibility}${const}${static}${var}${name}${value}; " classrelation_ref 383237 // database () b parent class_ref 295685 // AbstractDataBase get_oper operation_ref 474885 // getDatabase set_oper operation_ref 475013 // setDatabase end classrelation 264325 // classDefinitions () relation 263557 o--> a role_name "classDefinitions" private comment "@var array la lista de las definiciones de clases" php " ${comment}${visibility}${const}${static}${var}${name}${value}; " classrelation_ref 264325 // classDefinitions () b parent class_ref 236293 // ORMDefinition end operation 301829 "getInstance" class_operation preserve_cpp_body_indent public return_type class_ref 167685 // ORM nparams 1 param in name "language" explicit_type "string" defaultvalue "'EN'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna la instancia de la clase. Implementación del SINGLETON. @param string $language el lenguaje a configurar en el ORM, por ahora hay dos opciones: EN=Inglés, ES=Español @return ORM La instancia de la base de datos." end operation 170117 "attach" preserve_cpp_body_indent public explicit_return_type "bool" nparams 1 param inout name "object" type class_ref 141317 // ORMObject preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Registra un objeto en la colección mantenida por ORM. Todos los objetos registrados son susceptibles de ser mantenidos automáticamente; es decir: guardados, recuperados onFly, listados y están disponibles para cualquier posible uso." end operation 170245 "dettach" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param inout name "object" type class_ref 141317 // ORMObject preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Le indica al ORM que no se preocupe del estado de este objeto." end operation 474757 "commit" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Hace un guardado de todos los objetos modificados en la memoria." end operation 281605 "&getDefinition" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 1 param in name "object" type class_ref 141317 // ORMObject preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la definición de una clase u objeto. @param String|Object $object el nombre de la clase o una instancia del objeto cuya definición queremos obtener. @return ORMDefinition la definición del objeto" end operation 488581 "&retrieve" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "class" explicit_type "string" param in name "id" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Recupera un objeto de la caché del ORM @param $class string|Object el nombre de la clase o una instancia del tipo de la clase que se quiere recuperar @param $id int el identificador de la clase @return DatabaseObject|false retorna la instancia de la caché o false si no se encuentra" end operation 316421 "&load" preserve_cpp_body_indent public return_type class_ref 141317 // ORMObject nparams 2 param in name "class" explicit_type "Class" param in name "id" explicit_type "int|array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Recupera objetos de la base de datos en base a su clase e ids. Puede recuperar uno o varios objetos a la vez. @param string $class la clase a la que pertenece el objeto a levantar @param int|array $id el id a recuperar o un array de ids @return ORMObject|array de acuerdo a si se paso un id o un array de ids" end operation 303237 "save" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param inout name "instance" type class_ref 141317 // ORMObject preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end operation 563333 "delete" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "object" type class_ref 141317 // ORMObject preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Borra físicamente un objeto de la base. Al borrarse el objeto además se ponen a null los campos de las entidades relacionadas que lo referenciaban y se eliminan los registros de las tablas relación M:N @param ORMObject $object el objeto a eliminar. @return boolean un booleando TRUE si la operación fue concretada con éxito o FALSE sino." end operation 474885 "getDatabase" force_body_gen const cpp_inline public return_type class_ref 295685 // AbstractDataBase nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->database; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_relation classrelation_ref 383237 // database () comment "@return AbstractDataBase una instancia de la base de datos que tiene configurada el ORM." end operation 475013 "setDatabase" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" type class_ref 295685 // AbstractDataBase cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->database = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_relation classrelation_ref 383237 // database () comment "@param $value AbstractDataBase una instacia de la abstracción de base de datos del ORM. " end operation 501765 "getBindObjectsOnCreate" force_body_gen const cpp_inline public explicit_return_type "bool" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->bindObjectsOnCreate; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 279301 // bindObjectsOnCreate end operation 501893 "setBindObjectsOnCreate" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" explicit_type "bool" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->bindObjectsOnCreate = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 279301 // bindObjectsOnCreate end operation 502021 "getAutosave" force_body_gen const cpp_inline public explicit_return_type "bool" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->autosave; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 279173 // autosave end operation 502149 "setAutosave" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" explicit_type "bool" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->autosave = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 279173 // autosave end operation 576517 "getAttributes" preserve_cpp_body_indent public explicit_return_type "array" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "SOLO PARA DEBUG, retorna la lista interna de atributos" end operation 576645 "clear" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Limpia la caché del ORM. OJO: esto no disocia los objetos del ORM. Eso se hará después." end operation 576773 "getObjects" force_body_gen const cpp_inline public return_type class_ref 141317 // ORMObject nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->objects; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_relation classrelation_ref 168709 // objects () end operation 631557 "query" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "class" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Crea una query sobre la base de la clase pasada por parámetro. @param string $class la clase a la que pertenecen las instancias a retornar. @return ORMQuery Una instancia de una query que sirve para formalizar los criterios de búsqueda" end operation 700293 "getDebug" force_body_gen const cpp_inline public explicit_return_type "bool" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->debug; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 479365 // debug end operation 700421 "setDebug" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" explicit_type "bool" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->debug = ${p0}; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 479365 // debug end operation 889861 "setLanguage" preserve_cpp_body_indent public return_type class_ref 167685 // ORM nparams 1 param in name "language" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura el lenguaje predeterminado del ORM: ESTO AFECTA A LOS OBJETOS en cuya definición no se haya declarado un lenguaje. @param string $language una cadena que indica el lenguaje. Por el momento puede ser 'EN' (la predeterminada) o 'ES'. @return ORM el ORM modificado" end operation 889989 "getLanguage" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera el lenguaje configurado. @return string una cadena que puede ser 'EN' o 'ES'" end operation 2246661 "getMaxFetchRows" preserve_cpp_body_indent public explicit_return_type "int" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la cantidad de filas que se recuperarán en forma predeterminada. @return int la cantidad de filas o null si la misma no ha sido configurada" end operation 2246789 "setMaxFetchRows" preserve_cpp_body_indent public return_type class_ref 167685 // ORM nparams 1 param in name "rows" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura la cantidad máxima de filas que se recuperaran por consulta directa a la base de datos. Esto no afecta la cantidad de resultados que arrojen las consultas, sino que en caso de exceder el número de resultados configurado, se realizarán N consultas de la cantidad indicada para traerlos todos. @param int $rows la cantidad de filas @return ORM el objeto ORM modificado." end operation 2529541 "identifyClass" preserve_cpp_body_indent public explicit_return_type "string" nparams 2 param in name "baseClass" explicit_type "string" param in name "id" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Este método determina la clase más específica de una instancia. En base a las definiciones de clase, el ORM va consultando la información de discriminadores y subclases hasta encontrar la forma más específica de la instancia y retorna su clase. @param string $baseClass el nombre de la clase desde la que se inicia el análisis. @param string $id el identificador de la instancia a analizar @return string Retorna la clase más específica a la que responde la instancia. Dicha clase puede ser la misma $baseClass o cualquiera de sus hijas." end end class 256133 "ORMCollection" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Sirve para almacenar una colección de objetos relacionados. Es decir para materializar las relaciones entre objetos. Se emplea esta construcción en vez de un array porque: 1) es necesario conocer si la colección fue modificada o no 2) es necesario, a fines de optimizar el proceso, saber exactamente qué se agregó y qué se quitó. 3) la ORMCollection no duplica objetos; es decir, si se agrega el mismo objeto dos veces la segunda no tiene efecto " attribute 259077 "elements" public explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array lista de los elementos (instancias) de la relación @todo PONERLO PRIVADO!! Ahora Público a fines de DEBUG!" end attribute 265605 "added" public explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 535557 // getAdded comment "@var array aquí se mantienen temporalmente una lista de los identificadores de los objetos nuevos" end attribute 355205 "removed" public explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 535685 // getRemoved comment "@var array en este arreglo se guarda la lista de ids de objetos quitados de la relación, para que al guardar se puedan saber qué registros de la relación quitar" end operation 535429 "isModified" preserve_cpp_body_indent public explicit_return_type "bool" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve un booleano indicando si la colección ha sido o no modificada @return bool un valor TRUE si la colección fue modificada o FALSE sino" end operation 413189 "&address" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna la dirección de una posición del array de atributos. @param string|int $offset la clave del arreglo de elementos del cual se quiere saber la dirección" end operation 412933 "reset" preserve_cpp_body_indent public return_type class_ref 256133 // ORMCollection nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Restaura los indicadores de cambio de forma que el objeto queda como no alterado. @return ORMCollection la propia instancia" end operation 549893 "count" preserve_cpp_body_indent public explicit_return_type "int" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 535557 "getAdded" force_body_gen const cpp_inline public explicit_return_type "array" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->added; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 265605 // added end operation 535685 "getRemoved" force_body_gen const cpp_inline public explicit_return_type "array" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->removed; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 355205 // removed end operation 385157 "offsetExists" preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end operation 385285 "offsetGet" preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end operation 385413 "offsetSet" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "offset" explicit_type "mixed" param in name "value" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent end operation 385541 "offsetUnset" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end operation 385669 "getIterator" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end classrelation 310405 // relation 309637 -_-|> a public php "${type}" classrelation_ref 310405 // b parent class_ref 249477 // ArrayAccess end classrelation 310533 // relation 309765 -_-|> a public php "${type}" classrelation_ref 310533 // b parent class_ref 249605 // IteratorAggregate end classrelation 436997 // relation 436101 -_-|> a public php "${type}" classrelation_ref 436997 // b parent class_ref 348165 // Countable end operation 550021 "__construct" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Inicializa los arreglos internos @return ORMCollection la colección inicializada" end end class 236293 "ORMDefinition" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${visibility}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Hay un array que almacena la forma de relacionar los atributos de una clase con los de la/s tablas con las que se corresponde: ORMData['fields'][$attribute]= {'fieldName', 'type', 'length', 'isNulleable', 'precision', 'primaryKey', 'default', 'table', 'loadStyle'} si type = ORMDefinition::ORM_ENTITY 'class', 'isNulleable', 'default', 'table, 'loadStyle'} ORMData['fieldsByTable'][$table][$attribute]->&ORMData['fields'][$attribute] ORMData['relations'][$attribute]= {'fieldName', 'type', 'class', 'table', 'loadStyle', 'associatedFieldName'} Más adelante puede implementarse una versión más objetosa haciendo que haya cosas como DBTable y DBField Hay 3 diferentes tipos de definiciones: - Campos simples: son atributos que representan un valor puntual como int, string, date. - Entidades: es la materialización de la clave foránea en la entidad \"hijo\". Es decir cuando un id de otra tabla aparece en la tabla actual. Ese \"id\" no es un atributo común, sino que representa a toda una entidad entera asociada por su id. Son relaciones 0..1 o 1..1 - Relaciones: parecido al caso anterior pero para relaciones 1..N y N..M. El atributo en particular se implementa como un \"array\" de instancias de la clase asociada. Para el caso N..M la tabla se asume que tiene una clave conformada por los 2 IDs que se relacionan. " classrelation 443653 // relation 442757 -_-> a default php "${type}" classrelation_ref 443653 // b parent class_ref 354693 // ORMDefinitionError end classrelation 500101 // relation 498309 -_-> a default php "${type}" classrelation_ref 500101 // b parent class_ref 341637 // UnknowAttribute end classrelation 994949 // relation 987525 -_-> a default php "${type}" classrelation_ref 994949 // b parent class_ref 729477 // ORMAutoincrement end classrelation 330245 // relation 329477 -_-|> a public php "${type}" classrelation_ref 330245 // b parent class_ref 275973 // ORM_TYPES end classrelation 330373 // relation 329605 -_-|> a public php "${type}" classrelation_ref 330373 // b parent class_ref 282501 // ORM_LOAD_STYLE end classrelation 330501 // relation 329733 -_-|> a public php "${type}" classrelation_ref 330501 // b parent class_ref 282629 // ORM_RELATION_TYPE end classrelation 356997 // relation 356229 ---|> a public php "${type}" classrelation_ref 356997 // b parent class_ref 289157 // PrivateAccesor end attribute 225797 "ORMData" protected explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 1865733 "abstract" private explicit_type "bool" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean un flag que indica si la clase es o no abstracta." end attribute 232325 "currentTable" private explicit_type "string" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 472837 "orm" private type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM la instancia del ORM al que pertenece la definición" end attribute 573317 "class" private explicit_type "string" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string el nombre de la clase que se está mapeando" end attribute 1121669 "language" private explicit_type "string" init_value "'EN'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string el lenguaje predeterminado de las definiciones" end attribute 1227013 "plurals" private explicit_type "array" init_value "array()" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array una caché que se va formando en la medida que a la clase se le consultan los plurales de atributos en singular de los métodos add/del" end operation 542469 "__construct" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 1 param in name "orm" type class_ref 167685 // ORM defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Constructor de la clase. Prepara las estructuras básicas necesarias para el mapeo. @param ORM $orm el objeto que maneja las definiciones, de aquí también se saca el lenguaje predeterminado. @return ORMDefinition una instancia inicializada de ORMDefinition" end operation 156421 "addField" preserve_cpp_body_indent public explicit_return_type "DataBaseObject" nparams 10 param in name "attribute" explicit_type "string" param in name "fieldName" explicit_type "string" param in name "type" explicit_type "int" param in name "length" explicit_type "int" defaultvalue "-1" param in name "precision" explicit_type "int" defaultvalue "-1" param in name "isNulleable" explicit_type "boolean" defaultvalue "true" param in name "defaultValue" explicit_type "mixed" defaultvalue "null" param in name "loadStyle" explicit_type "int" defaultvalue "ORMDefinition::FORCE_LOAD" param in name "table" explicit_type "string" defaultvalue "\"\"" param in name "primaryKey" explicit_type "boolean" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}, ${p7}${v7}, ${p8}${v8}, ${p9}${v9}${)} { ${body}} " preserve_python_body_indent comment "Indica como traducir un atributo del objeto en su campo respectivo de la base de datos. @param string $attribute el nombre del atributo que queremos definir (el del objeto) @param string $fieldName el nombre del campo de la base de datos donde se almacena el valor @param int $type el tipo de valor, las constantes se obtienen de ORM_TYPES. En el caso que el atributo sea un objeto entero, usar @see addInstance(). @param int $length la longitud del campo de la base de datos. Si se quiere omitir esto indicar -1 @param int $precision en el caso de numéricos se debe indicar la precisiónpara futuros redondeos. Para omitir -1 @param boolean $isNulleable indica si el atributo/campo puede adquirir valor NULL @param mixed $defaultValue el valor predeterminado del campo @param int $loadStyle se puede indicar si se desea que el atributo sea recuperado instantáneamente al cargar el objeto o si se prefiere diferir la carga hasta que el valor del atributo sea utilizado por primera vez. Recomendable usar esta última opciónsi el campo es una imagen o un algún valor pesado. Las constantes están en @see ORM_LOAD_STYLE. @param string $table el nombde de la tabla donde se encuentra el atributo, generalmente se especifica el mismo con un llamado previo a @see setTable() y se asume ese valor dejando \"\" @param boolean $primaryKey poner true si el campo es la clave primaria del objeto @return ORMDefinition Retorna la propia definición modificada, para seguirla manipulando en cadena si se desea." end operation 454533 "addInstance" preserve_cpp_body_indent public explicit_return_type "" nparams 7 param in name "attribute" explicit_type "string" param in name "fieldName" explicit_type "string" param in name "class" explicit_type "string" param in name "isNulleable" explicit_type "bool" defaultvalue "true" param in name "defaultValue" explicit_type "int" defaultvalue "null" param in name "loadStyle" explicit_type "int" defaultvalue "ORMDefinition::LAZY_LOAD" param in name "table" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}${)} { ${body}} " preserve_python_body_indent comment "Define un atributo como una instancia de otra clase. @param string $attribute el nombre del atributo que queremos definir (el del objeto) @param string $fieldName el nombre del campo de la base de datos donde se almacena la clave que identifica la instancia puntal de la otra clase. @param string $class la clase del objeto que va en el atributo. @param boolean $isNulleable indica si el atributo puede adquirir valor NULL @param string $defaultValue el valor predeterminado del campo @param int $loadStyle se puede indicar si se desea que el atributo sea recuperado instantáneamente al cargar el objeto o si se prefiere diferir la carga hasta que el valor del atributo sea utilizado por primera vez. Recomendable usar esta última opción si el campo es una imagen o un algún valor pesado. Las constantes están en @see ORM_LOAD_STYLE. @param string $table el nombde de la tabla donde se encuentra el atributo, generalmente se especifica el mismo con un llamado previo a @see setTable() y se asume ese valor dejando \"\" @param boolean $primaryKey poner true si el campo es la clave primaria del objeto @return ORMDefinition Retorna la propia definición modificada, para seguirla manipulando en cadena si se desea." end operation 1629317 "setDiscriminator" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 3 param in name "fieldName" explicit_type "string" param in name "type" explicit_type "int" param in name "table" explicit_type "string" defaultvalue "''" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Agrega un discriminador para identificar la clase del objeto. El campo del discriminador debe ser declarado previamente (mediante addField() ). @param string $fieldName el nombre del campo en la base de datos @param string $type el tipo de datos del discriminador @param string $table la tabla en la cual se halla el campo discriminador, por default asume la última tabla asignada. @return ORMDefinition la definición con el discriminador agregado" end operation 2509317 "addSubclass" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "value" explicit_type "mixed" param in name "class" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Luego de dfinido el discriminador, este método agrega una constante (valor) que permite identificar el tipo de la instancia. @param mixed $value la constante que identifica la clase @param string $class el nombre de la clase de la instancia @return ORMDefinition La definición a la cual se ha agregado información del tipo" end operation 2529285 "__addSubclass" preserve_cpp_body_indent private return_type class_ref 236293 // ORMDefinition nparams 1 param in name "className" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "No implementado aún, sería para indicar subclases que no usan discriminadores. Por el análisis realizado la factibilidad de \"adivinar\" de qué clase se trata lo que tenemos entre manos es bastante pobre, el único factor diferenciador es que use alguna tabla en exclusiva. Declara al ORM que existe una subclase de esta clase. Esto hace que en los loads se tenga en cuenta este hecho e intente recuperar la instancia más específica. @param string $className el nombre de la subclase. @return ORMDefinition La definición con la subclase registrada." end operation 556677 "addRelation1x1" preserve_cpp_body_indent public explicit_return_type "" nparams 4 param in name "attribute" explicit_type "string" param in name "fieldName" explicit_type "string" param in name "class" explicit_type "string" param in name "loadStyle" explicit_type "int" defaultvalue "ORMDefinition::LAZY_LOAD" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Indica que hay una relación 1:1 entre esta entidad y la instancia de la otra clase. En forma predeterminada estas relaciones son cargadas como LAZY. @param string $attribute el nombre del atributo que tendrá el array de instancias @param string $fieldName el nombre del atributo donde se mapea el identificador de la clase actual @param string $class la clase asociada (la clase de las instancias relacionadas) @param int $loadStyle determina si la relación se debe cargar inmediamente al recuperar la clase o si se hace una carga diferida en el momento en que se use (esta última es la acción predeterminada). Las constantes están en ORM_LOAD_STYLE. @return ORMDefinition la propia definición" end operation 556549 "addRelation1xN" preserve_cpp_body_indent public explicit_return_type "" nparams 4 param in name "attribute" explicit_type "string" param in name "fieldName" explicit_type "string" param in name "class" explicit_type "string" param in name "loadStyle" explicit_type "int" defaultvalue "ORMDefinition::LAZY_LOAD" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Indica que hay una relación 1:N entre esta entidad y las instancias de la otra clase. En forma predeterminada estas relaciones son cargadas como LAZY. @param string $attribute el nombre del atributo que tendrá el array de instancias @param string $fieldName el nombre del atributo donde se mapea el identificador de la clase actual @param string $class la clase asociada (la clase de las instancias relacionadas) @param int $loadStyle determina si la relación se debe cargar inmediamente al recuperar la clase o si se hace una carga diferida en el momento en que se use (esta última es la acción predeterminada). Las constantes están en ORM_LOAD_STYLE. @return ORMDefinition la propia definición" end operation 556805 "addRelationNxM" preserve_cpp_body_indent public explicit_return_type "" nparams 6 param in name "attribute" explicit_type "string" param in name "table" explicit_type "string" param in name "fieldName" explicit_type "string" param in name "class" explicit_type "string" param in name "asociatedFieldName" explicit_type "string" defaultvalue "\"\"" param in name "loadStyle" explicit_type "int" defaultvalue "ORMDefinition::LAZY_LOAD" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Indica que hay una relación entre esta entidad y las instancias de otra clase. Las relaciones que soportan son 1:N, N:M y 1:1. En el caso de la N:M debe indicarse la tabla intermedia. En forma predeterminada estas relaciones son cargadas como LAZY. @param string $attribute el nombre del atributo que tendrá el array de instancias @param string $table sólo se usa en relaciones N:M e indica el nombre de la tabla intermedia @param string $fieldName el nombre del atributo donde se mapea el identificador de la clase actual @param string $class la clase asociada (la clase de las instancias relacionadas) @param string $asociatedFieldName el nombre del atributo donde se mapea el identificador de la clase asociada @param int $loadStyle determina si la relación se debe cargar inmediamente al recuperar la clase o si se hace una carga diferida en el momento en que se use (esta última es la acción predeterminada). Las constantes están en ORM_LOAD_STYLE. @return ORMDefinition la propia definición" end operation 406277 "getFieldDefinition" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "attribute" explicit_type "string" defaultvalue "\"\"" param in name "findByField" explicit_type "bool" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Retorna el registro crudo de los campos, tal como se le dieron de alta. @param string $attribute el nombre del atributo del cual queremos recibir la información de mapeo o nada para obtener todas las definiciones @param boolean $findByField indica si el atributo pasado por parámetro es en realidad el nombre del campo de la base de datos y lo busca por dicho criterio. @return array|false Retorna las definiciones en un arreglo de la forma o false si el atributo no existe: [$attribute] = {'fieldName', 'type', 'length', 'isNulleable', 'precision', 'primaryKey', 'default', 'table', 'loadStyle'} " end operation 528901 "getRelationDefinition" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "attribute" explicit_type "string" defaultvalue "\"\"" param in name "findByTable" explicit_type "bool" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Retorna la definición de una relación. @param string $attribute el nombre del atributo cuyo mapeo se quiere obtener o nada para recuperar todas las definiciones de relaciones. @param boolean $findByTable indica si el atributo pasado por parámetro es en realidad el nombre del campo de la base de datos y lo busca por dicho criterio. @return array un arreglo con la información de la/s definición/es con el siguiente formato o false si la relación no existe: [$attribute] = {'type', 'class', 'table', 'loadStyle'} En el caso que se busque por tabla retorna la primer relación definida que actúe sobre la tabla indicada. Esta función está orientada a detectar el atributo que mapea las relaciones MxN sobre una tabla dada. NO SIRVE para las relaciones 1:1 y 1:N. " end operation 1629445 "getDiscriminatorDefinition" preserve_cpp_body_indent public explicit_return_type "mixed" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera el discriminador aplicado a la entidad. @return false|array un arreglo con la definición del discriminador o false si no hay un discriminador seteado." end operation 399621 "getFieldsByTable" preserve_cpp_body_indent public explicit_return_type "array" nparams 1 param in name "table" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna la información de los campos que pertenecen a una tabla o a todas las tablas de la definición si se pasa \"\"" end operation 2529669 "getFieldsByClass" preserve_cpp_body_indent public explicit_return_type "array" nparams 1 param in name "class" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Retorna la información de los campos que pertenecen a una clase o a todas las clases de la definición si se pasa \"\"" end operation 399365 "getTableList" preserve_cpp_body_indent public explicit_return_type "array" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna la lista de tablas que participan de la definición." end operation 2522629 "getClass" preserve_cpp_body_indent public explicit_return_type "string" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera el nombre de la clase a la que pertenece la definición. @return string El nombre de la clase a la que pertenece la definición" end operation 2522757 "isAbstract" preserve_cpp_body_indent public explicit_return_type "bool" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve TRUE si la clase es abstracta y FALSE en caso contrario. Este valor sólo se encuentra disponible en el contexto de un ORM. @return boolean El flag que indica si la clase es abstracta o no." end operation 2522501 "setAbstract" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 1 param in name "value" explicit_type "bool" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Indica si la clase es o no abstracta. No es necesario invocar este método en las definiciones, puesto que el ORM pisa el valor. @param boolean $value un valor TRUE para indicar que la clase es abstracta y FALSE para lo contrario. @return ORMDefinition la definición modificada." end operation 916997 "setClass" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "class" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura la clase a la que se corresponde la definición @param string $class el nombre de la clase que se está definiendo @return ORMDefinition la definición modificada." end operation 549509 "setKey" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 1 param in name "attribute" explicit_type "string|array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece el atributo indicado como clave del objeto. También se le puede pasar un arreglo de atributos. Es igual que indicar en addField() isNulleable en FALSE y primaryKey en TRUE. Se da esta función para facilitar su definición y mover dichos atributos al final de los parámetros en addField(). @param string|array $attribute el atributo o un array de atributos que serán identificados como clave primaria del objeto. @return ORMDefinition La propia definición modificada. IMPORTANTE: llamar a esta función LUEGO de haber definido el mapeo del atributo." end operation 1622789 "setLanguage" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "language" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura el lenguaje predeterminado de las definiciones subsecuentes. @param string $language el idioma que se va a emplear en posteriores definiciones. @return ORMDefinition La definición con el lenguaje establecido." end operation 275077 "setTable" preserve_cpp_body_indent public explicit_return_type "DataBaseObject" nparams 1 param in name "tableName" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece una tabla objetivo para futuros llamados a addField(), addInstance() y addRelation(). @param string $table el nombre de la tabla @return ORMDefinition la propia definición modificada @see ORMDefinition::addField() @see ORMDefinition::addInstance() @see ORMDefinition::addRelation()" end operation 542853 "getORMData" preserve_cpp_body_indent public explicit_return_type "array" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "@todo METODO PARA BORRAR!!! ES PARA DEBUG NOMAS" end operation 923525 "addValidation" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 2 param in name "attribute" explicit_type "string" param in name "validations" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Instruye al ORM para que valide el valor del atributo antes de guardarlo. @param string $attribute el nombre del atributo. Debe haber sido previamente definido. @param string $validations una lista de strings con las versiones textuales de la validación a efectuar. Las mismas pueden ser:
  • required, indica que el campo es requerido
  • alpha, el valor debe contener sólo letras y espacios
  • numeric, se verifica que el valor sea numérico entero (soporta +/-)
  • alphanumeric, combina numeric con alpha
  • mail, verifica que el valor sea una dirección de mail correctamente escrita
  • text, cualquier cosa valida este filtro
  • regexp, verifica que el valor cumpla una expresión regular dada
  • min, chequea que el valor no sea menor al número dado
  • max, ídem pero que no sea mayor
  • float, valida números enteros y/o decimales (soporta +/- y . o , para los decimales)
  • precision, se usa en combinación con \"float\" para indicar que la parte entera no exceda de una cierta cantidad de dígitos
  • scale, se usa en combinación con \"float\" para indicar que la parte decimal no exceda de una cierta cantidad de dígitos
  • mac, chequea que el texto corresponda a una MAC Address (por compatibilidad con 10Fold es posible no usar separación entre los pares)
  • ip, valida que el texto se corresponda con una IP válida
  • url, verifica que el texto sea una url. Soporta: protocolo+usuario+subdominio+dominio+puerto+directorio+query+anchor
  • maxlength, cuenta los caracteres de un texto para que no exceda cierto valor
@return ORMDefinition La definición con la validación agregada. Modo de uso: $definition->addValidation('atributo', 'required');//Agrega una sola validación simple $definition->addValidation('atributo', 'required', 'alphanumeric', 'url');//Agrega varias validaciones simples a un atributo $defintion->addValidation('atributo', 'min 5', 'max 10');//Agrega validaciones complejas " end operation 925061 "getValidation" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Recupera las validaciones que se realizan sobre el atributo indicado ó, si no se especifica dicho atributo, recupera todas las validaciones. @param string $attribute El atributo del cual se desean recuperar las validaciones @return array El arreglo con las validaciones. Dicho arreglo tiene la forma de [validacion] => array { 0 => expresion 1 1 => expresion 2 } ó (si se omite indicar el atributo) [atributo][validacion] => array { 0 => expresion 1 1 => expresion 2 } " end operation 1757957 "pluralize" preserve_cpp_body_indent public explicit_return_type "string" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Toma un atributo y elabora su plural en base a un idioma de referencia. @param string $attribute el nombre del que deseamos obtener el plural @return string el nombre de atributo pluralizado." end operation 1772677 "pluralize2" class_operation preserve_cpp_body_indent protected explicit_return_type "string" nparams 2 param in name "attribute" explicit_type "string" param in name "language" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent end operation 2529413 "getSubclasses" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera las subclases declaradas en la definición actual. @return false|array Devuelve false si no hay ninguna subclass declarada o un arreglo con la lista de subclases (arreglo de strings)." end operation 2536197 "setDefault" preserve_cpp_body_indent public return_type class_ref 236293 // ORMDefinition nparams 2 param in name "attribute" explicit_type "string" param in name "value" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Configura el valor predeterminado de un atributo. @param string $attribute el atributo que se desea configurar @param mixed $value el valor a asignar @return ORMDefinition la definición actualizada." end end class 389637 "ORMQuery" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Este objeto se crea indicando cuál es la clase \"pivote\", con cuyo nombre recupera la definición desde el ORM. Las condiciones de filtrado se especifican a través de llamados a filterBy() y el conjunto de resultados se ordena según el orden de llamados a orderBy(). Es posible segmentar el conjunto de resultados usando los pares de funciones: from()/to() ó from()/top(), según se quieran indicar fila de inicio y fin o fila de inicio y cantidad de registros respectivamente. El resultado de la consulta se obtiene llamando a find()." attribute 411013 "orm" private type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM el manejador de objetos desde el cual se toman las definiciones" end attribute 411141 "pivotClass" protected explicit_type "string" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string el nombre de la clase pivote de la consulta" end classrelation 493573 // definition () relation 491781 ---> a role_name "definition" private comment "@var ORMDefinition la definición de la clase pivote" php " ${comment}${visibility}${const}${static}${var}${name}${value}; " classrelation_ref 493573 // definition () b parent class_ref 236293 // ORMDefinition end attribute 417669 "from" protected explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int el número de fila del primer registro del resultado." end attribute 417797 "count" protected explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int la cantidad de filas a recuperar." end attribute 410629 "conditions" protected explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array un arreglo con las condiciones indicadas por los llamados a filterBy() El formato del arreglo es: $conditions['filters'][$field][$operator][0..n]=array($value, $other, $connector); $conditions['subqueries'][$field][0..n]=ORMQuery(); " end attribute 566789 "distinct" protected explicit_type "bool" init_value "FALSE" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean Indica si la consulta debe retornar tuplas únicas" end attribute 525701 "uses_custom_columns" protected explicit_type "" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean determina si el usuario ha o no especificado columnas personalizadas para el resultado" end attribute 525829 "uses_groups" protected explicit_type "bool" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean indica si se han especificado atributos de agrupación" end attribute 858757 "leftJoins" protected explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array una lista de los atributos sobre los cuales se especificó que se haga LEFT JOIN mediante dontWorryAbout()" end attribute 816773 "maxFetchRows" protected explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 1244933 // getMaxFetchRows set_oper operation_ref 1245061 // setMaxFetchRows comment "@var int esta variable, si está configurada, determina la cantidad de filas a recuperar simultáneamente." end attribute 871941 "associations" protected explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array la lista de grupos de filtros asociados." end attribute 872069 "countAssociations" protected explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int es el contador de asociaciones." end attribute 974725 "sortsCount" protected explicit_type "int" init_value "0" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int cuenta el número de columna de ordenamiento por la que va. Es de uso interno. La idea es que si se llama varias veces a $query->orderBy(), el contador se sostenga entre los llamados." end operation 617477 "__construct" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 2 param in name "class" explicit_type "string" param inout name "orm" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Crea un objeto de consulta que retorna elementos del tipo de la clase indicada. @param string $class la clase de objetos que retornará la consulta. @param ORM $orm el objeto ORM al que se ata la consulta. @return ORMQuery un objeto con los criterios de una consulta." end operation 1154053 "getClass" preserve_cpp_body_indent public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera la clase que se indicara como pivot de la consulta. @return string el nombre de la clase pasado por parámetro en el llamdo al contructor de la instancia." end operation 1154181 "getORM" preserve_cpp_body_indent public return_type class_ref 167685 // ORM nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve el ORM al que pertenece la Query. @return ORM el ORM que construyó la instancia de ORMQuery." end operation 624389 "from" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "row" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece la cantidad de filas a saltear del conjunto de resultados antes de considerarla válida como respuesta. @param int $row la fila a partir de la cual deseamos que se nos retornen resultados. @return ORMQuery La consulta modificada. from() siempre debe llamarse antes que to() para calcular el diferencial." end operation 624517 "to" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "row" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece el máximo número de fila que quiere recuperarse. Debe ser mayor al valor prefijado en from(). @param int $row el número de fila máxima del conjunto de resultado. @return ORMQuery La consulta con el nuevo límite aplicado. Debe considerarse que si no se llamó a from() previamente no se va a calcular el diferencial." end operation 624645 "top" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "limit" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece cuantas filas se deben recuperar del conjunto de resultados. @param int $limit la cantidad de filas a recuperar @return ORMQuery El objeto Query modificado." end operation 821893 "joinWith" preserve_cpp_body_indent public explicit_return_type "" nparams 4 param in name "attribute" explicit_type "string" param in name "alias" explicit_type "string" param in name "attributes" explicit_type "array" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $attribute el atributo que determina la relación con la cual se ha de realizar el emparejamiento @param string $alias el alias de la clase @param array $attributes los atributos nuevos a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados" end operation 821765 "joinBy" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 4 param in name "query" type class_ref 389637 // ORMQuery param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra consulta. Debido a que no se pueden inferir los resultados de la consulta tan fácilmente como con el joinWith, a esta función se le deben pasar los nombres de columnas devueltas por el query para hacer el emparejamiento y para definir nuevos campos para el conjunto de resultados. @param ORMQuery $query la query con la cual se ha de realizar el emparejamiento @param string $alias el alias de la clase @param array $fields los campos nuevos (con denominación completa) a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados también con denominación completa" end operation 644997 "findOne" preserve_cpp_body_indent public return_type class_ref 141317 // ORMObject nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Busca el primer elemento de la consulta. @return ORMObject el objeto en cuestión" end operation 651525 "echoTab" preserve_cpp_body_indent public explicit_return_type "string" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "@return string Imprime un cierto número de espacios acorde al $level" end attribute 430853 "level" class_attribute package explicit_type "int" init_value "0" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int $level utilizado para fines de debug" end attribute 430981 "debug" class_attribute package explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean $debug indica si se debe hacer una salida de depuración de los pasos de la consulta" end operation 781061 "decrypt" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param inout name "coded_sql" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Función temporal sólo para fines de debug. Decifra la cadena retornada por \"build()\"." end classrelation 595717 // relation 593413 -_-> a default php "${type}" classrelation_ref 595717 // b parent class_ref 174341 // Connection end operation 828933 "filterBy" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 7 param in name "attribute" explicit_type "string" param in name "operator" explicit_type "int" param in name "value" explicit_type "mixed" defaultvalue "\"\"" param in name "other" explicit_type "mixed" defaultvalue "\"\"" param in name "connector" explicit_type "string" defaultvalue "'AND'" param in name "group" explicit_type "string" defaultvalue "''" param in name "groupConnector" explicit_type "string" defaultvalue "'AND'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}${)} { ${body}} " preserve_python_body_indent comment "Establece una condición de búsqueda para la consulta. @param string $attribute el campo sobre el cual se especifica la condición @param int $operator la operación de comparación, el mismo puede ser @param mixed $value el valor utilizado para la comparación @param mixed $other otro valor en caso de ser necesario @param string $connector la palabra 'AND' o 'OR' según se quiera utilizar para concatenar la condición @param string $group un alias de grupo, en caso de no existir un grupo con dicho alias se generará uno nuevo, de tal forma que es posible agrupar filtros sin hacer llamados explícitos a startGroup() y endGroup() @param string $groupConnector la palabra 'AND' o 'OR' según se quiera utilizar para concatenar el grupo de condiciones asociadas. @return ORMQuery la consulta con la condición incorporada." end operation 1337221 "startGroup" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "joinMode" explicit_type "string" defaultvalue "'AND'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Inicia un agrupamiento de condiciones. Todas los llamados a filterBy() que vengan luego del startGroup() serán considerados como un conjunto. @param string $joinMode indica como se va a unir el conjunto con las siguiente condiciones. @return ORMQuery La consulta con el grupo creado." end operation 1337349 "endGroup" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Finaliza un grupo de condiciones previamente iniciado con startGroup(). @return ORMQuery La consulta con el grupo cerrado." end operation 829061 "orderBy" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Ordena el conjunto de resultados por la columna indicada. @param string $attribute el atributo por el cual se desea ordenar el resultado. No se puede ordenar por atributos relación, ni por los atributos de los elementos de las relaciones o de los atributos entidad. Se puede indicar anteponiendo un espacio si es 'ASC' o 'DESC' @return ORMQuery La consulta modificada como se indicó." end operation 829189 "build" preserve_cpp_body_indent public explicit_return_type "string" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna el código a ejecutar para resolver la query en formato codificado. @param array $conditions las condiciones a analizar o, si es null, toma las globales @param int $alias_counter un numero que se añade al alias de cada tabla @return array una terna compuesta con el siguiente formato: array(query, sorts, groups) donde query es el SQL codificado de la instrucción, sorts son las condiciones de orden y groups las de agrupamiento externo" end operation 829573 "build_subquery" preserve_cpp_body_indent public explicit_return_type "" nparams 10 param inout name "query" explicit_type "string" param in name "pivotDefinition" type class_ref 236293 // ORMDefinition param in name "attribute" explicit_type "string" param inout name "conditions" explicit_type "array" param in name "parent_alias" explicit_type "string" param in name "scrumb" explicit_type "string" param inout name "alias_counter" explicit_type "int" param inout name "overrideColumns" explicit_type "bool" param inout name "associatedGroups" explicit_type "array" param inout name "sorts" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}, ${p7}${v7}, ${p8}${v8}, ${p9}${v9}${)} { ${body}} " preserve_python_body_indent end operation 829317 "find" preserve_cpp_body_indent public explicit_return_type "" nparams 2 param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Recupera el conjunto de resultados según los parámetros configurados en el el objeto. @param int $from indica desde qué elemento se deben recuperar los resultados. @param int $count indica cuántos elementos de resultado se deben recuperar. @return array Un arreglo con todos los elementos que respondieron positivamente a las condiciones indicadas." end operation 829445 "attributes" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Define qué atributos recuperar del conjunto de resultados. @param string $attribute un atributo a ser devueltos por la consulta. Se pueden pasar varios uno tras otro y son \"navegables\" a trav??s de puntos. @return ORMQuery retorna la query modificó" end operation 1273349 "dontWorryAbout" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Indica que los datos se traigan aún en los casos donde el atributo sea null o la relación no exista. @param string $attribute el nombre del atributo, puede anidarse con \".\" y se pueden pasar varios o un array de strings también. @return ORMQuery La consulta con el atributo modificado." end operation 1322373 "worryAbout" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Anula una orden dada previamente con dontWorryAbout(). @param string $attribute el nombre del atributo, puede anidarse con \".\" y se pueden pasar varios o un array de strings también. @return ORMQuery La consulta con el atributo modificado." end operation 836229 "groupBy" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Define qué atributos deben ser agrupados una vez obtenido el conjunto de resultados masivo. @param string $attribute un atributo por el cual se debe agrupar el resultado de la consulta. Se pueden pasar varios uno tras otro y son \"navegables\" a través de puntos. @return ORMQuery retorna la query modificada" end operation 843013 "count" preserve_cpp_body_indent public explicit_return_type "int" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna la cantidad de resultados del query. @return int La cantidad de filas obtenidas por la consulta." end operation 910469 "distinct" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "enable" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Indica si se desea filtrar resultados distintos. @param booolean $enable un valor TRUE para indicar que haga la selección filtrando valores repetidos y FALSE para que traiga todo. @return ORMQuery la consulta con el cambio aplicado" end operation 1244933 "getMaxFetchRows" force_body_gen const cpp_inline public explicit_return_type "int" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->maxFetchRows; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 816773 // maxFetchRows comment "Recupera el número máximo de filas simultáneas que se recuperan por llamado a la base de datos. @return int La cantidad de filas que se recuperan de una vez." end operation 1245061 "setMaxFetchRows" force_body_gen public explicit_return_type "void" nparams 1 param in name "value" explicit_type "int" cpp_name_spec "set_${name}" java_name_spec "set${Name}" php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${)} { $this->maxFetchRows = ${p0}; return $this; } " php_name_spec "set${Name}" python_name_spec "set${Name}" idl_name_spec "set_${name}" set_of_attribute attribute_ref 816773 // maxFetchRows comment "Configura la cantidad de filas que se pueden traer en simultáneo en un sólo llamado a fetch de la base de datos. @param int $value el número de filas máximo a recuperar. @return ORMQuery la consulta modificada." end classrelation 958597 // relation 951685 -_-> a default php "${type}" classrelation_ref 958597 // b parent class_ref 702469 // ORMAttribute end operation 1567621 "involve" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 2 param in name "class" explicit_type "string" param in name "alias" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Involucra una nueva clase en la consulta. Es obligatorio especificarle el alias. @param string $class el nombre de la clase contra la cual se quieren relacionar las entidades @param string $alias un nombre genérico para referenciar tal conjunto de entidades. @return ORMQuery la consulta con el nuevo conjunto de entidades vinculado." end operation 1704325 "isNull" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 2 param in name "attribute" explicit_type "string" param in name "value" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Configura un valor predeterminado en el caso que el atributo devuelto sea null. Ésta función sólo puede ser utilizada en conjunto con ->attributes(), de lo contrario devolverá un error (es decir, no pisa valores de objetos, sólo establece valores predeterminados en consultas planas, sino se rompería la consistencia del ORM). @param string $attribute el atributo del cual se quiere verificar el valor @param string $value el valor predeterminado. Por ahora es un string que se pondrá fijo. @return ORMQuery La consulta con la nueva cláusula agregada." end operation 1779205 "debugQuery" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Imprime la consulta SQL de la query. @return ORMQuery la misma query" end end class 315269 "LazyLoader" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" attribute 335493 "object" private type class_ref 141317 // ORMObject cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORMObject el objeto sobre el que se desea modificar el atributo" end attribute 335365 "attribute" private explicit_type "string" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var el atributo a recuperar" end attribute 335621 "orm" private type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM el manejador de objetos que mediará la consulta del campo" end operation 461061 "__construct" preserve_cpp_body_indent public explicit_return_type "" nparams 3 param in name "object" type class_ref 141317 // ORMObject param in name "attribute" explicit_type "string" param inout name "orm" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Crea un cargador perezoso para el atributo. @param ORMObject $object un objeto de la jerarquía de ORMObject @param string $attribute el nombre del atributo @param ORM $orm el objeto que mediará para recuperar el atributo @return LazyLoader el cargador perezoso para el atributo" end operation 461189 "load" preserve_cpp_body_indent public explicit_return_type "mixed" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Recupera el valor del campo pre-configurado. @return mixed el objeto o valor recuperado" end classrelation 363653 // relation 362885 ---|> a public php "${type}" classrelation_ref 363653 // b parent class_ref 289157 // PrivateAccesor end classrelation 430469 // relation 429573 -_-> a default php "${type}" classrelation_ref 430469 // b parent class_ref 341637 // UnknowAttribute end end class 289157 "PrivateAccesor" abstract visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" operation 426501 "&getAttribute" preserve_cpp_body_indent protected explicit_return_type "mixed" nparams 2 param in name "object" explicit_type "Object" param in name "name" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Retorna una referencia al atributo indicado. @param Object $object un objeto cualquiera de los descendientes de PrivateAccesor @param string $name el nombre del atributo @return mixed el valor del atributo solicitado" end operation 903685 "&stGetAttribute" class_operation preserve_cpp_body_indent protected explicit_return_type "mixed" nparams 2 param in name "object" explicit_type "Object" param in name "name" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Retorna una referencia al atributo indicado. @param Object $object un objeto cualquiera de los descendientes de PrivateAccesor @param string $name el nombre del atributo @return mixed el valor del atributo solicitado" end operation 426629 "invokeMethod" preserve_cpp_body_indent protected explicit_return_type "mixed" nparams 3 param inout name "object" explicit_type "Object" param in name "method" explicit_type "string" param in name "params" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Invoca un método público o protegido del objeto que se pasa por parámetro. @param Object $object un objeto de la jerarquía de PrivateAccesor @param string $method el nombre del método a invocar @param array $params un arreglo con los parámetros necesarios para invocar la función en el orden y número correcto @return mixed retorna lo que devuelva la función invocada" end operation 515845 "stInvokeMethod" class_operation preserve_cpp_body_indent protected explicit_return_type "mixed" nparams 3 param inout name "object" explicit_type "Object" param in name "method" explicit_type "string" param in name "params" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "@static Versión estática de invokeMethod(); invoca un método público o protegido del objeto que se pasa por parámetro. @see PrivateAccessor::invokeMethod() @param Object $object un objeto de la jerarquía de PrivateAccesor @param string $method el nombre del método a invocar @param array $params un arreglo con los parámetros necesarios para invocar la función en el orden y número correcto @return mixed retorna lo que devuelva la función invocada" end operation 468229 "setAttribute" preserve_cpp_body_indent protected explicit_return_type "" nparams 3 param in name "object" explicit_type "Object" param in name "name" explicit_type "string" param in name "value" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Actualiza un atributo protegido o público de un objeto. @param Object $object un objeto cualquiera de los descendientes de PrivateAccesor @param string $name el nombre del atributo @param mixed $value el nuevo valor de la propiedad @return void" end operation 903813 "stSetAttribute" class_operation preserve_cpp_body_indent protected explicit_return_type "" nparams 3 param in name "object" explicit_type "Object" param in name "name" explicit_type "string" param in name "value" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Actualiza un atributo protegido o público de un objeto. @param Object $object un objeto cualquiera de los descendientes de PrivateAccesor @param string $name el nombre del atributo @param mixed $value el nuevo valor de la propiedad @return void" end operation 509061 "invokeStaticMethod" preserve_cpp_body_indent protected explicit_return_type "" nparams 3 param in name "class" explicit_type "string" param in name "method" explicit_type "string" param inout name "params" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Invoca un método público o protegido de la clase que se pasa por parámetro. @param string $class la clase de la jerarquía de PrivateAccesor @param string $method el nombre del método a invocar @param array $params un arreglo con los parámetros necesarios para invocar la función en el orden y número correcto @return mixed retorna lo que devuelva la función invocada" end operation 903941 "stInvokeStaticMethod" class_operation preserve_cpp_body_indent protected explicit_return_type "" nparams 3 param in name "class" explicit_type "string" param in name "method" explicit_type "string" param inout name "params" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Invoca un método público o protegido de la clase que se pasa por parámetro. @param string $class la clase de la jerarquía de PrivateAccesor @param string $method el nombre del método a invocar @param array $params un arreglo con los parámetros necesarios para invocar la función en el orden y número correcto @return mixed retorna lo que devuelva la función invocada" end end class 249477 "ArrayAccess" abstract visibility public stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" operation 302597 "offsetExists" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)};" preserve_python_body_indent end operation 302725 "offsetGet" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)};" preserve_python_body_indent end operation 302853 "offsetSet" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "offset" explicit_type "mixed" param in name "value" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)};" preserve_python_body_indent end operation 302981 "offsetUnset" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 1 param in name "offset" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)};" preserve_python_body_indent end end class 262789 "Iterator" abstract visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" operation 392197 "current" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 392325 "key" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "scalar" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 392453 "next" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 392581 "rewind" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 392709 "valid" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end end class 249605 "IteratorAggregate" abstract visibility public stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" operation 303109 "getIterator" abstract preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};" preserve_python_body_indent end end class 269445 "ORM_STATUS" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" comment "Almacena constantes de estado para que no entorpezcan la visualización de los objetos. Estados relativos al ORM: * NEW = Cuando un objeto recién se crea. Este estado existe (aunque de movida hay una iteracción con DatabaseObject y por consiguiente con el ORM) para que los objetos creados se guarden sólo a través de un llamado explicito a SAVE(). Sin embargo existe un flag en el ORM que usa DatabaseObject para bindear automáticamente en el create. * ATTACHED = El objeto está siendo mantenido por ORM. * DETACHED = El objeto no está siendo mantenido por el ORM. Puede o no ser consistente con los datos de la base. Estados del objeto: * DELETED = Pensamiento: Doctrine maneja los estados tiene 4 que copié un poquitos más claros: MANAGED, DETACHED, REMOVED y NEW. Pero al fin de cuentas un objeto está asociado o no con el ORM y lo demás es superfluo. No debería de interesar en particular si un objeto es nuevo o modificado, porque de esas inferencias se encarga el ORM. El NEW en Doctrine significa que el objeto esta DETACHED y que no tiene contraparte en la base de datos. Cuando se hace un SAVE() pasa a MANAGED. Yo pienso que NEW no tiene sentido: en todo caso es DETACHED y cuando se guarda si tiene id es porque existia una contraparte y si no lo tiene es que es nuevo. Antes que digan nada, el id es un atributo privado de la clase DatabaseObject, con lo cual las clases hijas no lo pueden acceder, por lo cual es de total dominio del ORM. El REMOVED es razonable, indica que el objeto no es recomendable para su uso, aunque sus valores aún están ahi en la memoria." attribute 272389 "ATTACHED" const_attribute package explicit_type "int" init_value "1" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar int ATTACHED indica que el objeto está siendo monitoreado por el ORM, lo cual quiere decir que los cambios sobre el mismo serán salvados sobre el COMMIT y que las acciones que se hagan al mismo tomarán estado de permanente. @final" end attribute 272645 "DETACHED" const_attribute package explicit_type "int" init_value "2" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar int DETACHED indica que el objeto no está siendo mantenido por el ORM, los cambios y operaciones sobre el mismo no tendrán efecto. @final" end attribute 272517 "REMOVED" const_attribute package explicit_type "int" init_value "3" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar int REMOVED significa que el objeto está marcado para hacer un DELETE; es decir que está ATTACHED pero hasta el próximo COMMIT y que no tiene sentido modificar un objeto de ese tipo dado que pronto será historia. @final" end attribute 328581 "FRESH" const_attribute package explicit_type "" init_value "4" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar int FRESH Valor que indica que el objeto es nuevo, es redundante con DETACHED + id==null, pero sirve para no tener que andar haciendo esas comparaciones @final" end attribute 328837 "LOADING" const_attribute package explicit_type "int" init_value "5" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@staticvar LOADING es un estado interno, solo empleado por el ORM que pone al objeto en un modo \"suspendido\" mientras puebla los atributos internos. Al salir de este estado el objeto \"resetea\" los flags de modificaciones. @final" end attribute 368261 "SAVING" const_attribute package explicit_type "int" init_value "6" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end end class 275973 "ORM_TYPES" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" comment "En DOCTRINE: * string: Type that maps an SQL VARCHAR to a PHP string. * integer: Type that maps an SQL INT to a PHP integer. * smallint: Type that maps a database SMALLINT to a PHP integer. * bigint: Type that maps a database BIGINT to a PHP string. * boolean: Type that maps an SQL boolean to a PHP boolean. * decimal: Type that maps an SQL DECIMAL to a PHP double. * date: Type that maps an SQL DATETIME to a PHP DateTime object. * time: Type that maps an SQL TIME to a PHP DateTime object. * datetime: Type that maps an SQL DATETIME/TIMESTAMP to a PHP DateTime object. * text: Type that maps an SQL CLOB to a PHP string. * object: Type that maps a SQL CLOB to a PHP object using serialize() and unserialize() * array: Type that maps a SQL CLOB to a PHP object using serialize() and unserialize() Los mios son IMAGE, FILE para BLOBs y EXTERNAL que inicialmente lo podría usar para EXTERNAL_FILE pero a través de alguna cosa como CURL se podría usar para webservices y otras cosas raras. ENTITY es especial y significa que ese atributo es una FK (un ID de un objeto de otro lado) " attribute 285829 "STRING" const_attribute package explicit_type "int" init_value "1" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286085 "SMALLINT" const_attribute package explicit_type "int" init_value "2" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 285957 "INTEGER" const_attribute package explicit_type "int" init_value "3" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286213 "BIGINT" const_attribute package explicit_type "int" init_value "4" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286469 "DECIMAL" const_attribute package explicit_type "int" init_value "5" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286341 "BOOLEAN" const_attribute package explicit_type "int" init_value "6" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286597 "DATE" const_attribute package explicit_type "int" init_value "7" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286725 "TIME" const_attribute package explicit_type "int" init_value "8" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286853 "DATETIME" const_attribute package explicit_type "int" init_value "9" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 286981 "TEXT" const_attribute package explicit_type "int" init_value "10" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 287109 "OBJECT" const_attribute package explicit_type "int" init_value "11" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 287237 "COLLECTION" const_attribute package explicit_type "int" init_value "12" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 287365 "IMAGE" const_attribute package explicit_type "int" init_value "13" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 287493 "FILE" const_attribute package explicit_type "int" init_value "14" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 294021 "EXTERNAL" const_attribute package explicit_type "int" init_value "15" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 294789 "ORM_ENTITY" const_attribute package explicit_type "int" init_value "50" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end end class 282501 "ORM_LOAD_STYLE" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" attribute 294149 "FORCE_LOAD" const_attribute package explicit_type "int" init_value "1" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 294277 "LAZY_LOAD" const_attribute package explicit_type "int" init_value "2" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end end class 282629 "ORM_RELATION_TYPE" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" attribute 294405 "OneToMany" const_attribute package explicit_type "int" init_value "1" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 294533 "ManyToMany" const_attribute package explicit_type "int" init_value "2" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 294661 "OneToOne" const_attribute package explicit_type "int" init_value "3" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end end class 302213 "OPERATION" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" attribute 301317 "EQ" const_attribute package explicit_type "int" init_value "1" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 301445 "LT" const_attribute package explicit_type "int" init_value "2" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 301573 "GT" const_attribute package explicit_type "int" init_value "3" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 301701 "LE" const_attribute package explicit_type "int" init_value "4" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 301829 "GE" const_attribute package explicit_type "int" init_value "5" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 301957 "NE" const_attribute package explicit_type "int" init_value "6" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 302085 "LIKE" const_attribute package explicit_type "int" init_value "7" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end attribute 302213 "BETWEEN" const_attribute package explicit_type "int" init_value "8" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn end end class 348165 "Countable" visibility package stereotype "interface" cpp_decl "" java_decl "${comment}${@}${visibility}${static}interface ${name}${extends} { ${members}} " php_decl "${comment}${visibility}interface ${name} { ${members}} " python_2_2 python_decl "" idl_decl "${comment}${abstract}${local}interface ${name}${inherit} { ${members}}; " explicit_switch_type "" mysql_decl "" operation 549765 "count" preserve_cpp_body_indent public explicit_return_type "int" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)};" preserve_python_body_indent end end class 702469 "ORMAttribute" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} function A($attribute) { return new Attribute($attribute); }" python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Una clase auxiliar, inicialmente iba a ser creada en ORMQuery como embebida pero boUML no lo permite. Se instancia con la función _() que se define como global." attribute 913925 "attribute" private explicit_type "string" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn get_oper operation_ref 1406341 // getAttribute comment "@var string el atributo que representa la clase" end operation 1406213 "__construct" preserve_cpp_body_indent public return_type class_ref 702469 // ORMAttribute nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Crea una instancia de un atributo. Se emplea por ORMQuery para diferenciar un atributo de un texto que coincida con su definición." end operation 1406341 "getAttribute" force_body_gen const cpp_inline public explicit_return_type "string" nparams 0 cpp_name_spec "get_${name}" final java_name_spec "get${Name}" php_final php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { return $this->attribute; } " php_name_spec "get${Name}" python_name_spec "get${Name}" idl_name_spec "get_${name}" get_of_attribute attribute_ref 913925 // attribute end end class 729349 "ORMKeyGenerator" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" operation 1442821 "validate" preserve_cpp_body_indent public explicit_return_type "bool" nparams 2 param in name "attribute" explicit_type "mixed|array" param in name "class" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Chequea si el valor para de la clave es válido para clave de la entidad. @param mixed|array $attribute un valor o un arreglo de valores. En este último caso es un arreglo asociativo donde la clave del array es el nombre del atributo al que pertenece el valor. @param string $class el nombre de la clase a la que pertenece el atributo. @param ORM $orm el ORM sobre el cual se desea hacer la validación. @return boolean un true si todo está bien o un false si la clave no es válida." end operation 1442949 "assign" preserve_cpp_body_indent public explicit_return_type "bool" nparams 3 param inout name "attribute" explicit_type "mixed|array" param in name "class" explicit_type "string" param in name "orm" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Asigna el siguiente valor de clave para una nueva instancia de la clase dada. @param mixed|array $attribute un valor o un arreglo de valores. En este último caso es un arreglo asociativo donde la clave del array es el nombre del atributo al que pertenece el valor. @param string $class el nombre de la clase a la que pertenece el atributo. @param ORM $orm el ORM sobre el cual se desea hacer la validación. @return boolean un true si todo fue debidamente asignado y se puede proseguir o un false si algo falló." end end class 729477 "ORMAutoincrement" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" classrelation 994821 // relation 987397 ---|> a public php "${type}" classrelation_ref 994821 // b parent class_ref 729349 // ORMKeyGenerator end operation 1443077 "validate" preserve_cpp_body_indent public explicit_return_type "bool" nparams 2 param in name "attribute" explicit_type "mixed|array" param in name "class" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Chequea si el valor para de la clave es válido para clave de la entidad. @param mixed|array $attribute un valor o un arreglo de valores. En este último caso es un arreglo asociativo donde la clave del array es el nombre del atributo al que pertenece el valor. @param string $class el nombre de la clase a la que pertenece el atributo. @param ORM $orm el ORM sobre el cual se desea hacer la validación. @return boolean un true si todo está bien o un false si la clave no es válida." end operation 1443205 "assign" preserve_cpp_body_indent public explicit_return_type "bool" nparams 3 param inout name "attribute" explicit_type "mixed|array" param in name "class" explicit_type "string" param in name "orm" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Asigna el siguiente valor de clave para una nueva instancia de la clase dada. @param mixed|array $attribute un valor o un arreglo de valores. En este último caso es un arreglo asociativo donde la clave del array es el nombre del atributo al que pertenece el valor. @param string $class el nombre de la clase a la que pertenece el atributo. @param ORM $orm el ORM sobre el cual se desea hacer la validación. @return boolean un true si todo fue debidamente asignado y se puede proseguir o un false si algo falló." end end class 1022725 "ORMQueryMTWrapper" visibility protected cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" attribute 1367429 "config" private explicit_type "arrray" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array el arreglo de la configuración que se debe completar" end attribute 1367557 "groupPointers" private explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array un arreglo con los anidamientos de grupos" end attribute 1367685 "groupCount" private explicit_type "int" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var int el contador de grupos" end classrelation 1378693 // relation 1352965 ---|> a public php "${type}" classrelation_ref 1378693 // b parent class_ref 389637 // ORMQuery end operation 1938053 "__construct" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 3 param in name "class" explicit_type "string" param inout name "orm" type class_ref 167685 // ORM param inout name "configuration" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Crea un objeto de consulta especialmente creado para la herrmienta de migración que retorna elementos del tipo de la clase indicada. @param string $class la clase de objetos que retornará la consulta. @param ORM $orm el objeto ORM al que se ata la consulta. @return ORMQuery un objeto con los criterios de una consulta." end operation 1937925 "from" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "row" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece la cantidad de filas a saltear del conjunto de resultados antes de considerarla válida como respuesta. @param int $row la fila a partir de la cual deseamos que se nos retornen resultados. @return ORMQuery La consulta modificada. from() siempre debe llamarse antes que to() para calcular el diferencial." end operation 1938309 "to" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "row" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece el máximo número de fila que quiere recuperarse. Debe ser mayor al valor prefijado en from(). @param int $row el número de fila máxima del conjunto de resultado. @return ORMQuery La consulta con el nuevo límite aplicado. Debe considerarse que si no se llamó a from() previamente no se va a calcular el diferencial." end operation 1938437 "top" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "limit" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Establece cuantas filas se deben recuperar del conjunto de resultados. @param int $limit la cantidad de filas a recuperar @return ORMQuery El objeto Query modificado." end operation 1938565 "filterBy" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 5 param in name "attribute" explicit_type "string" param in name "operator" explicit_type "int" param in name "value" explicit_type "mixed" defaultvalue "\"\"" param in name "other" explicit_type "mixed" defaultvalue "\"\"" param in name "connector" explicit_type "string" defaultvalue "'AND'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Establece una condición de búsqueda para la consulta. @param string $attribute el campo sobre el cual se especifica la condición @param int $operator la operación de comparación @param mixed $value el valor utilizado para la comparación @param mixed $other otro valor en caso de ser necesario @param string $connector la palabra 'AND' o 'OR' según se quiera utilizar para concatenar la condición @return ORMQuery la consulta con la condición incorporada." end operation 1938693 "startGroup" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "joinMode" explicit_type "string" defaultvalue "'AND'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Inicia un agrupamiento de condiciones. Todas los llamados a filterBy() que vengan luego del startGroup() serán considerados como un conjunto. @param string $joinMode indica como se va a unir el conjunto con las siguiente condiciones. @return ORMQuery La consulta con el grupo creado." end operation 1938821 "endGroup" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Finaliza un grupo de condiciones previamente iniciado con startGroup(). @return ORMQuery La consulta con el grupo cerrado." end operation 1938949 "orderBy" preserve_cpp_body_indent public return_type class_ref 389637 // ORMQuery nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Ordena el conjunto de resultados por la columna indicada. @param string $attribute el atributo por el cual se desea ordenar el resultado. No se puede ordenar por atributos relación, ni por los atributos de los elementos de las relaciones o de los atributos entidad. Se puede indicar anteponiendo un espacio si es 'ASC' o 'DESC' @return ORMQuery La consulta modificada como se indicó." end operation 1939077 "attributes" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Define qué atributos recuperar del conjunto de resultados. @param string $attribute un atributo a ser devueltos por la consulta. Se pueden pasar varios uno tras otro y son \"navegables\" a través de puntos. @return ORMQuery retorna la query modificada" end operation 1939205 "dontWorryAbout" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Indica que los datos se traigan aún en los casos donde el atributo sea null o la relación no exista. @param string $attribute el nombre del atributo, puede anidarse con \".\" y se pueden pasar varios o un array de strings también. @return ORMQuery La consulta con el atributo modificado." end operation 1939333 "worryAbout" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Anula una orden dada previamente con dontWorryAbout(). @param string $attribute el nombre del atributo, puede anidarse con \".\" y se pueden pasar varios o un array de strings también. @return ORMQuery La consulta con el atributo modificado." end operation 1939461 "groupBy" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "attribute" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Define qué atributos deben ser agrupados una vez obtenido el conjunto de resultados masivo. @param string $attribute un atributo por el cual se debe agrupar el resultado de la consulta. Se pueden pasar varios uno tras otro y son \"navegables\" a través de puntos. @return ORMQuery retorna la query modificada" end end class 1002885 "MigrationToolkit" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" attribute 1353861 "PENDING" const_attribute package explicit_type "string" init_value "'PENDING'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string una constante que simboliza que la clase está pendiente de migración" end attribute 1353989 "WORKING" const_attribute package explicit_type "string" init_value "'WORKING'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string una constante que simboliza que la clase está en proceso de migración" end attribute 1354117 "MIGRATED" const_attribute package explicit_type "string" init_value "'MIGRATED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string una constante que simboliza que la clase ya ha sido migrada" end attribute 1374341 "ST_MIGRATED" const_attribute package explicit_type "string" init_value "'MIGRATED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que una operación se realizó con éxito" end attribute 1374469 "ST_EXCLUDED" const_attribute package explicit_type "string" init_value "'EXCLUDED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que un atributo esta expliscitamente excluído" end attribute 1374597 "ST_IGNORED" const_attribute package explicit_type "string" init_value "'IGNORED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que un atributo ha sido ignorado dado que no se contaba con la definición" end attribute 1374725 "ST_NOTFOUND" const_attribute package explicit_type "string" init_value "'NOTFOUND'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que no se pudo encontrar un objeto equivalente" end attribute 1374853 "ST_FAILED" const_attribute package explicit_type "string" init_value "'FAILED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica un estado erroneo por causas desconocidas" end attribute 1374981 "ST_MANY" const_attribute package explicit_type "string" init_value "'MANY'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que un objeto tiene muchas instancias equivalentes en el destino. Seguramente la clave candidata esté mal expresada" end attribute 1375109 "ST_EXCHANGED" const_attribute package explicit_type "string" init_value "'EXCHANGED'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que un objeto fue expliscitamente intercambiado por las definiciones del usuario" end attribute 1375237 "ST_FOUND" const_attribute package explicit_type "string" init_value "'FOUND'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que identifica que se encontró un objeto equivalente" end attribute 1353605 "from" private type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM el ORM origen sobre el cual se realizará la búsqueda de entidades a migrar" end attribute 1353733 "to" private type class_ref 167685 // ORM cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ORM el ORM destino hacia el cual se pasarán o actualizarán las entidades encontradas en el origen" end attribute 1353477 "config" private explicit_type "array" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var array una matriz multidimensional donde se guardan las configuraciones" end attribute 1360901 "log" private explicit_type "DOMDocument" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var DOMDocument la instancia de log" end attribute 1375365 "debug" private explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var boolean un flag que indica si se quiere imprimir mensajes de debug o no" end attribute 1388677 "PREVIEW_MODE" const_attribute package explicit_type "string" init_value "'PREVIEW_MODE'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que indica el modo de previsualización de cambios" end attribute 1388805 "NORMAL_MODE" const_attribute package explicit_type "string" init_value "'NORMAL_MODE'" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@const string constante que indica el modo de migración normal" end attribute 1382149 "mode" private explicit_type "string" init_value "self::PREVIEW_MODE" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var string el modo en el cual se ejecuta la migración, actualmente hay dos modos: PREVIEW_MODE que genera un XML sin realizar los cambios en la base destino y EXPORT_MODE" end operation 1916549 "__construct" public explicit_return_type "" nparams 0 php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${)} { ${body}} " end operation 2072453 "str2array" preserve_cpp_body_indent private explicit_return_type "array" nparams 1 param in name "csv" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Convierte una cadena de CSV en un array @param $csv string la cadena de texto con valores separados por comas @return array Devuelve un arreglo donde se ha separado cada valor en un elemento del arreglo, si la cadena no tiene más que espacios o es vacia retorna un arreglo vacío." end operation 1916677 "addElement" preserve_cpp_body_indent public explicit_return_type "DOMElement" nparams 3 param in name "name" explicit_type "string" param in name "value" explicit_type "string" defaultvalue "null" param in name "parent" explicit_type "DOMElement" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Crea un nuevo elemento y lo agrega al documento o al parent indicado. @param string $name el nombre del elemento @param string $value el valor del elemento @param DOMElement $parent en caso de indicarse, se agrega el elemento a este parent @return DOMElement Retorna el elemento recién creado" end operation 1916805 "addAttribute" preserve_cpp_body_indent private explicit_return_type "DOMAttr" nparams 3 param in name "element" explicit_type "DOMElement" param in name "name" explicit_type "string" param in name "value" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Crea un atributo y lo agrega al elemento indicado. @var DOMElement $element el elemento al cual desearmos agregarle una tributo @var string $name el nombre del atributo @var string $value el valor del atributo @return DOMAttr Devuelve el atributo que se acaba de crear." end operation 1909381 "setOrigin" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 1 param inout name "from" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura el ORM fuente de datos. @param ORM $from el ORM origen desde el cual se realizará la migración @return MigrationToolkit la herramienta con el origen configurado" end operation 1909509 "setDestination" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 1 param inout name "to" type class_ref 167685 // ORM preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Configura el ORM destino de datos. @param ORM $to el ORM hacia el cual se realizará la migración @return MigrationToolkit la herramienta con el destino configurado" end operation 1909253 "addClass" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 4 param in name "class" explicit_type "string" param in name "identifiers" explicit_type "array" param in name "filters" explicit_type "array" defaultvalue "null" param in name "exclude" explicit_type "array" defaultvalue "array()" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Define los parámetros de migración de las entidades pertenecientes a una clase. @param string $class el nombre de la clase a migrar @param array $identifiers los atributos candidatos que pueden considerarse irrepetibles entre las bases @param array $filters un array de tuplas que representan un filtro tal cual como si fueran parámetros de ORMQuery @param array $exclude una lista de atributos que de los cuales la herramienta no debe preocuparse @return MigrationToolkit la herramienta de migración con la configuración agregada." end operation 1923333 "defineClass" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 2 param in name "class" explicit_type "string" param in name "identifiers" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Indica a la herramienta cómo reconocer una cierta clase en las bases, pero no realiza migración sobre ella. @param string $class el nombre de la clase a migrar @param array $identifiers los atributos candidatos que pueden considerarse irrepetibles entre las bases @return MigrationToolkit la herramienta de migración con la configuración agregada." end operation 1923461 "exchange" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 3 param in name "class" explicit_type "string" param in name "idFrom" explicit_type "int" param in name "idTo" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Declara que una entidad en particular de la base de origen debe considerarse como \"igual\" a otra cierta entidad en el destino. Esto permite redireccionar asociaciones y valores. @param string $class el nombre de la clase a migrar @param int $idFrom el identificador de la entidad en el origen @param int $idTo el identificador de la entidad en el destino @return MigrationToolkit la herramienta de migración con la configuración agregada." end operation 1946757 "migrate" preserve_cpp_body_indent private explicit_return_type "bool" nparams 2 param in name "class" explicit_type "string" param in name "root" explicit_type "DOMElement" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Función auxiliar de migración" end operation 1946629 "findObject" preserve_cpp_body_indent private return_type class_ref 141317 // ORMObject nparams 2 param inout name "object" type class_ref 141317 // ORMObject param inout name "keys" explicit_type "DOMElement" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Busca el objeto equivalente al dado en el destino. @param ORMObject $object el objeto cuyo equivalente se desea encontrar @param DOMElement $keys un objeto DOM al cual se le desea agregar la lista de claves empleadas para encontrar el objeto. @return ORMObject|null Devuelve el objeto equivalente en la base destino o null si no se encuentra." end operation 1946501 "completeQuery" preserve_cpp_body_indent private explicit_return_type "" nparams 5 param inout name "query" type class_ref 389637 // ORMQuery param inout name "object" type class_ref 141317 // ORMObject param in name "path" explicit_type "string" param in name "prefix" explicit_type "string" defaultvalue "null" param inout name "keys" explicit_type "DOMElement" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Agrega filtros a una consulta, en base a las configuraciones, el path indicado y el prefix, tomando como base al objeto $object. @param ORMQuery $query la consulta a completar @param ORMObject $object el objeto del cual se toman los valores a comparar @param string $path la clave o claves (anidadas por \".\") que se desean filtrar @param string $prefix al completar la query, a veces se pasa un objeto que es fruto de acceder ciertos atributos a traves de n \"getters\", si el path se pone en la query sólo el atributo filtrado no podría ser ubicado. Con el $prefix se complementa el camino recorrido para obtener $object. @param DOMElement $keys un objeto DOMElement al cual adjuntar las claves por las cuales se realiza la búsqueda. @return " end operation 1947141 "setDebug" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 1 param in name "enable" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Habilita o deshabilita el modo debug. @param boolean $enable si se pasa un true se habilita el modo debug (acción por default) y si se pasa false, se deshabilita. @return MigrationToolkit la herramienta con el modo debug configurado" end operation 1954309 "logFiltersAndGroups" preserve_cpp_body_indent private explicit_return_type "" nparams 2 param inout name "node" explicit_type "array" param inout name "root" explicit_type "DOMElement" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Función auxiliar" end operation 1909637 "execute" preserve_cpp_body_indent public explicit_return_type "bool" nparams 1 param in name "logfile" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Realiza la migración de entidades en base a las configuraciones cargadas. @param string $logfile la ruta y nombre de archivo donde quedará el log de la operación @return boolean Devuelve true si todo funciona bien o arroja una excepción con el error en caso que algo no funcione bien." end operation 1909765 "rollback" preserve_cpp_body_indent public explicit_return_type "bool" nparams 1 param in name "filepath" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Restaura los cambios realizados por una migración anterior. @return boolean Retorna true si todo sale bien o una excepción en caso que haya algún problema." end operation 1931397 "addClass2" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 4 param in name "class" explicit_type "string" param in name "identifiers" explicit_type "array" param in name "filterFunction" explicit_type "Closure" defaultvalue "null" param in name "exclude" explicit_type "array" defaultvalue "array()" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Define los parámetros de migración de las entidades pertenecientes a una clase. @param string $class el nombre de la clase a migrar @param array $identifiers los atributos candidatos que pueden considerarse irrepetibles entre las bases @param Closure $filterFunction una función que toma un ORMQuery y aplica los filtros necesarios @param array $exclude una lista de atributos que de los cuales la herramienta no debe preocuparse @return MigrationToolkit la herramienta de migración con la configuración agregada." end operation 1954437 "addDataSet" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 2 param in name "class" explicit_type "string" param in name "filters" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Amplia el conjunto de objetos a migrar para una clase. @param string $class el nombre de la clase a migrar @param array $filters un array de tuplas que representan un filtro tal cual como si fueran parámetros de ORMQuery @return MigrationToolkit la herramienta con el set de objetos ampliado" end operation 1954565 "addDataSet2" preserve_cpp_body_indent public return_type class_ref 1002885 // MigrationToolkit nparams 2 param in name "class" explicit_type "string" param in name "function" explicit_type "Closure" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega un nuevo conjunto de objetos a migrar para una clase previamente declarada. @param string $class el nombre de la clase a migrar @param Closure $filterFunction una función que toma un ORMQuery y aplica los filtros necesarios @return MigrationToolkit la herramienta con el nuevo selector de objetos agregado." end classrelation 1392517 // relation 1366789 -_-> a package php "${type}" classrelation_ref 1392517 // b parent class_ref 1022725 // ORMQueryMTWrapper end end class 1035909 "OracleDatabase2" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" comment "Reemplazo de la actual forma de acceso por packages a una forma directamente SQL." operation 2001413 "__construct" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "connection" type class_ref 201989 // OracleConnection preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Crea una abstracción de la base de datos. @param OracleConnection $connection una conexión a la base de datos deseada. @return OracleDatabase una instancia de OracleDatabase que sirve para trabajar con el ORM." end operation 2001669 "filter" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 6 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" param in name "order" explicit_type "array" defaultvalue "\"\"" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Igual a getData() pero múltiples filas. La idea sería recibir \"cuaternas\" que armen el SQL a ejecutar en base a la iteración sobre los parámetros (hasta que se acaben) y un gran switch sobre \"operation\". @param string $table el nombre de la tabla desde la cual recuperar los datos @param array $fields un arreglo de strings con los nombres de los campos a recuperar @param array $conditions otro arreglo con los condicionales codificados, cada uno, de la siguiente forma:array(operation, leftValue, rightValue, connector). Usar AbstractDataBase::makeCondition(). @param array $order se pasa aquí un arreglo de strings con formato \"nombreColumna [ASC|DESC]\", lo cual ordenará el conjunto de resultados. @param int $from indica a partir de qué fila del resultset se desea acceder. Si se indica null trae desde la primer fila. @param int $count indica cuántas filas a partir del $from se deben recuperar, si se indica null se recuperan todas. @return array|false el conjunto de resultados o falso si hubo algún error " end operation 2002565 "count" preserve_cpp_body_indent cpp_virtual public explicit_return_type "int" nparams 1 param inout name "coded_sql" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Similar a execute() pero sólo contabiliza la cantidad de registros." end operation 2003333 "sql_filter" preserve_cpp_body_indent public explicit_return_type "string" nparams 4 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "alias" explicit_type "string" defaultvalue "\"\"" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Es una implementación especial que se utiliza para brindar soporte a ORMQuery. Toma una tabla, el conjunto de campos de retorno y la lista de condiciones de filtrado retornando una representación de la misma. @param string $table el nombre de la tabla sobre la que se va a filtrar. @param array $fields una lista de los nombres de los campos a retornar. @param array $conditions las condiciones de filtrado. Para generar la lista use makeCondition(). @return Una representación encapsulada de la consulta. @see sql_add_condition() @see sql_execute()" end operation 2003461 "sql_add_condition" preserve_cpp_body_indent public explicit_return_type "string" nparams 6 param inout name "main_sql" explicit_type "string" param in name "table" explicit_type "string" param in name "field" explicit_type "string" param in name "operator" explicit_type "string" param inout name "sql_select" explicit_type "string" param in name "alias" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Agrega una condición de IN o NOT IN al sql indicado en base a otro select. @param string $main_sql el sql codificado producto de un llamado previo a sql_filter() o sql_add_condition() @param string $table el nombre de la tabla a la que pertenece el field que se va a filtrar @param string field el campo que se validará @param string operator el tipo de filtrado ('IN' o 'NOT IN') @param string sql_select el select codificado que recupera la lista de claves @param string alias por ahora no se usa y debe pasarse como \"\" @return string un sql codificado. @see sql_filter() @see sql_execute()" end operation 2003589 "sql_add_where" preserve_cpp_body_indent public explicit_return_type "string" nparams 2 param inout name "coded_sql" explicit_type "string" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega una condición general (global) a la instrucción SQL codificada. @param string $coded_sql el SQL Codificado @param array $conditions las condiciones a agregar @return string el SQL resultante encriptado" end operation 2003717 "sql_join_table" preserve_cpp_body_indent public explicit_return_type "string" nparams 6 param inout name "coded_sql" explicit_type "string" param in name "table" explicit_type "string" param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" param in name "joinType" explicit_type "string" defaultvalue "'INNER'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $coded_sql el sql codificado a modificar @param string $table la tabla contra la que se va a hacer el JOIN @param string $alias el alias de la tabla @param array $fields los nuevos fields a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados @param string $joinType el tipo de unión (JOIN) que se hará entre las consultas. @return string La consulta resultante." end operation 2003845 "sql_join" preserve_cpp_body_indent public explicit_return_type "" nparams 5 param inout name "coded_sql" explicit_type "string" param inout name "coded_sql2" explicit_type "string" param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $coded_sql el sql codificado a modificar @param string $coded_sql2 la otra consulta contra la que se va a hacer el JOIN @param string $alias el alias de la tabla @param array $fields los nuevos fields a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados" end operation 2004229 "sql_execute2" preserve_cpp_body_indent public explicit_return_type "array" nparams 7 param inout name "coded_sql" explicit_type "string" param in name "groups" explicit_type "array" defaultvalue "null" param in name "order" explicit_type "array" defaultvalue "null" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" param in name "maxFetch" explicit_type "int" defaultvalue "null" param in name "lobFields" explicit_type "array" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}${)} { ${body}} " preserve_python_body_indent comment "Ejecuta una consulta codificada con sql_filter() o sql_add_condition(). @param string $coded_sql la consulta codificada a ejecutar @param array $groups un arreglo con los campos que se agruparán de la consulta @param array $order un arreglo con los nombres de los campos para el ordenamiento... se puede poner un espacio y ASC o DESC según se desee. @param int $from el primer registro del conjunto de resultados @param int $count la cantidad de registros que se espera leer @param int $maxFetch de ser especificado, la consulta se resuelve recuperando los datos de a bloques de ese tamaño (el tamaño se refiere a cantidad de filas, no tamaño del resultset) @param array $lobFields en caso de especificarse, el método se cuidará de recuperar las filas de a una y cargar los valores de los LOBs @return array un arreglo con los campos solicitados @see sql_filter() @see sql_add_condition()" end operation 2004357 "sql_set_columns" preserve_cpp_body_indent public explicit_return_type "string" nparams 4 param inout name "coded_sql" explicit_type "string" param in name "columns" explicit_type "array" param in name "replace" explicit_type "bool" defaultvalue "true" param in name "distinct" explicit_type "bool" defaultvalue "false" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Agrega o reemplaza el from de una sentencia SQL. @param string $coded_sql el SQL Codificado @param array $columns las columnas a agregar @param boolean $replace especifica si el from existente debe preservarse o no. @param boolean $distinct especifica si se agrega la palabra DISTINCT luego del SELECT. Este cambio es NO REVERSIBLE!! @return string el SQL resultante encriptado" end classrelation 1405701 // relation 1373445 ---|> a public php "${type}" classrelation_ref 1405701 // b parent class_ref 308741 // OracleDatabase end operation 2011397 "makeWhere" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end end class 1294085 "ORMSingleton" visibility package stereotype "trait" cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}trait ${name}${extends}${implements} { @{traits} ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" ncouples 1 key "traits" value "" attribute 1824645 "instance" class_attribute private explicit_type "object" multiplicity "1" init_value "null" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var object " end operation 2449413 "getInstance" class_operation preserve_cpp_body_indent public explicit_return_type "object" nparams 1 param inout name "orm" type class_ref 167685 // ORM defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la instancia del objeto o la crea de ser necesario. @param ORM $orm el ORM al cual se vincula el singleton @return ORMObject La instancia singleton de la clase." end end class 174854 "MySQLDatabase" visibility package cpp_decl "" java_decl "" php_decl "${comment}${final}${abstract}class ${name}${extends}${implements} { ${members}} " python_2_2 python_decl "" idl_decl "" explicit_switch_type "" mysql_decl "" classrelation 226822 // relation 225414 ---|> a public php "${type}" classrelation_ref 226822 // b parent class_ref 295685 // AbstractDataBase end attribute 208390 "pks_cache" private explicit_type "array" init_value "array()" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ${type} un arreglo con las pks ya consultadas" end attribute 208518 "connection" private type class_ref 228997 // MySQLConnection cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ${type} La conexión almacenada" end attribute 1919749 "debug" private explicit_type "bool" init_value "false" cpp_decl "" java_decl "" php_decl " ${comment}${visibility}${const}${static}${var}${name}${value}; " python_decl "" idl_decl "" mysql_decl "" MysqlColumn comment "@var ${type} indica si se deben mostrar mensajes de debug al ejecutar un proceso" end operation 2611717 "__construct" preserve_cpp_body_indent public return_type class_ref 174854 // MySQLDatabase nparams 1 param in name "connection" type class_ref 228997 // MySQLConnection preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Crea una nueva abstracción de base de datos para MySQL sobre la conexión pasada por parámetro. @param ${t0} ${p0} la instancia de la conexión @return ${type} la instancia que abstrae la base de datos para el ORM" end operation 308998 "getPk" preserve_cpp_body_indent private explicit_return_type "string" nparams 1 param in name "table" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Busca la PK de la tabla, primero se fija en la cache. @param ${p0} ${t0} El nombre de la tabla @return ${type} El nombre del campo PK de la tabla ${p0}" end operation 300678 "getData" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "fields" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Dada una tabla y el identificador de registros, devuelve los valores de los campos especificados. @abstract @param $table string el nombre de la tabla @param $id long el identificador de la fila en la que estamos interesados @param $fields array un arreglo de strings con los nombres de las columnas a recuperar @return array|false un arreglo asociativo (field=>value) con los valores recuperados de la base o false si hubo algún error." end operation 300806 "getField" preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 3 param in name "table" explicit_type "string" param in name "id" explicit_type "int" param in name "field" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Retorna el valor del campo especificado. El nombre de la columna debe ser el simil al campo definido en la base de datos. La intención es usarlo para recuperar campos BLOB, CLOB y otros \"pesados\" sobre demanda. @param string $table el nombre de la tabla @param int $id el identificador del registro @param string $field el nombre del campo a recuperar @return mixed el valor del campo recuperado." end operation 300934 "filter" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 6 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" param in name "order" explicit_type "array" defaultvalue "\"\"" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Igual a getData() pero múltiples filas. La idea sería recibir \"cuaternas\" que armen el SQL a ejecutar en base a la iteración sobre los parámetros (hasta que se acaben) y un gran switch sobre \"operation\". @param string $table el nombre de la tabla desde la cual recuperar los datos @param array $fields un arreglo de strings con los nombres de los campos a recuperar @param array $conditions otro arreglo con los condicionales codificados, cada uno, de la siguiente forma:array(operation, leftValue, rightValue, connector). Usar AbstractDataBase::makeCondition(). @param array $order se pasa aquí un arreglo de strings con formato \"nombreColumna [ASC|DESC]\", lo cual ordenará el conjunto de resultados. @param int $from indica a partir de qué fila del resultset se desea acceder. Si se indica null trae desde la primer fila. @param int $count indica cuántas filas a partir del $from se deben recuperar, si se indica null se recuperan todas. @return array|false el conjunto de resultados o falso si hubo algún error " end operation 301062 "insert" preserve_cpp_body_indent cpp_virtual public explicit_return_type "int" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "useGenerator" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Inserta un registro en la tabla con los campos que se indiquen. @param string $table el nombre de la tabla en la que se desea insertar @param array $fields un arreglo con los campos a insertar. Nótese que las claves son los FieldNames y que allí se instarán los valores de dichas claves. @param boolean $useGenerator un booleano que indica si al hacer un insert se debe autodetectar la clave primaria y emplear el generador de dicha clave o si sólo se emplean los valores pasados por parámetro. @return int el identificador con el cual quedó el registro en la tabla. " end operation 301190 "update" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 3 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}${)} { ${body}} " preserve_python_body_indent comment "Realiza un UPDATE sobre la tabla y los campos indicados, es parecido a filter. @param string $table el nombre de la tabla a actualizar @param array $fields un arreglo cuyas claves son los nombres de los campos a actualizar. @param array $conditions otro arreglo donde cada elemento es un arreglo con el siguiente formato: array(field, operation, value1, value2, connector) el cual se puede generar con la función makeCondition() de cualquier miembro de la jerarquía de AbstractDataBase. @return int|false el número de filas afectadas o false si hubo error" end operation 301318 "delete" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "table" explicit_type "string" param in name "what" explicit_type "mixed" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Borra un registro de la tabla según su id o un conjunto de condiciones. @param string $table el nombre de la tabla sobre la cual hacer el borrado. @param int|array $what puede ser un entero (el id) o un arreglo de condiciones. @return int|false la cantidad de filas afectadas o false si hubo error" end operation 301446 "addRelation" preserve_cpp_body_indent cpp_virtual public explicit_return_type "boolean" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 301574 "delRelation" preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 2 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Quita un registro de relación de una relación M:N @param string $table el nombre de la tabla relación @param array $fields un arreglo indexado por el nombre del campo de la base de datos para filtrar @return boolean Retorna TRUE si la operación se realizó con éxito, FALSE sino." end operation 301702 "count" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 1 param inout name "coded_sql" explicit_type "string" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Similar a execute() pero sólo contabiliza la cantidad de registros." end operation 301830 "makeCondition" preserve_cpp_body_indent cpp_virtual public explicit_return_type "array" nparams 4 param in name "operation" explicit_type "string" param in name "leftValue" explicit_type "mixed" param in name "rightValue" explicit_type "mixed" param in name "connector" explicit_type "string" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Función de utilería para crear una condición @param string $operation la operación de comparación o verificación: =, <>, LIKE, IN, NOT, BETWEEN. En el caso de IN la función espera que el rightValue sea un array y separa sus componentes por \",\" y los encierra entre paréntesis. @param mixed $leftValue el primer operando @param mixed $rightValue el segundo operando @connector string $connector el conector con el que se debe unir esta condición con la siguiente (AND, OR) @return array el arreglo de la condición formateado" end operation 301958 "php2db" preserve_cpp_body_indent cpp_virtual public explicit_return_type "mixed" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores PHP a la representación necesaria para que la base de datos lo entienda. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor que requiere la base de datos" end operation 302086 "db2php" preserve_cpp_body_indent cpp_virtual public explicit_return_type "" nparams 2 param in name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Convierte valores devueltos por la base de datos a la representación PHP solicitada. Debe ser utilizado para pasar los \"values\" en las funciones. @param mixed $value el valor nativo de PHP que se desea convertir @param int $type el tipo al que queremos castear, adopta las constates de ORM_TYPES @return mixed El valor convertido a su representación PHP más próxima" end operation 302214 "getDateTime" preserve_cpp_body_indent cpp_virtual public explicit_return_type "datetime" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Retorna un valor de fecha y hora de la base. @return datetime El momento en el cual se efectúa el llamado según la base de datos." end operation 302342 "getConnection" preserve_cpp_body_indent cpp_virtual public return_type class_ref 228997 // MySQLConnection nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent comment "Devuelve la conexión usada por la instancia. @return ${type} La conexión que utiliza la instancia de base de datos" end operation 302470 "updateLob" preserve_cpp_body_indent cpp_virtual public explicit_return_type "bool" nparams 5 param in name "table" explicit_type "string" param in name "id" explicit_type "string" param in name "field" explicit_type "string" param inout name "value" explicit_type "mixed" param in name "type" explicit_type "int" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}${)} { ${body}} " preserve_python_body_indent comment "Graba un campo de LOB (CLOB, BLOB, etc...) @param $table string el nombre de la tabla @param $id string el identificador de la fila en la tabla @param $field string el nombre del campo donde se guardará el valor @param $value mixed el valor a guardar @param $type int el tipo de LOB de que se trata. @return bool devuelve TRUE si todo salió bien y FALSE en caso contrario" end operation 322182 "makeWhere" preserve_cpp_body_indent public explicit_return_type "" nparams 1 param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent end operation 2611845 "setDebug" preserve_cpp_body_indent public return_type class_ref 174854 // MySQLDatabase nparams 1 param in name "enable" explicit_type "bool" defaultvalue "true" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}${)} { ${body}} " preserve_python_body_indent comment "Habilita o deshabilita el debug. @param ${p0} {$t0} un flag que indica si se desea habilitar o no la salida de información de depuración @return ${type} la abstracción de base de datos con la nueva opción de debug" end operation 2618373 "condition2sql" preserve_cpp_body_indent public explicit_return_type "string" nparams 0 preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${)} { ${body}} " preserve_python_body_indent end operation 2624901 "sql_filter" preserve_cpp_body_indent public explicit_return_type "string" nparams 4 param in name "table" explicit_type "string" param in name "fields" explicit_type "array" param in name "alias" explicit_type "string" defaultvalue "\"\"" param in name "conditions" explicit_type "array" defaultvalue "\"\"" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}${)} { ${body}} " preserve_python_body_indent comment "Es una implementación especial que se utiliza para brindar soporte a ORMQuery. Toma una tabla, el conjunto de campos de retorno y la lista de condiciones de filtrado retornando una representación de la misma. @param string $table el nombre de la tabla sobre la que se va a filtrar. @param array $fields una lista de los nombres de los campos a retornar. @param array $conditions las condiciones de filtrado. Para generar la lista use makeCondition(). @return Una representación encapsulada de la consulta. @see sql_add_condition() @see sql_execute()" end operation 2625029 "sql_execute2" preserve_cpp_body_indent public explicit_return_type "array" nparams 7 param inout name "coded_sql" explicit_type "string" param in name "groups" explicit_type "array" defaultvalue "null" param in name "order" explicit_type "array" defaultvalue "null" param in name "from" explicit_type "int" defaultvalue "null" param in name "count" explicit_type "int" defaultvalue "null" param in name "maxFetch" explicit_type "int" defaultvalue "null" param in name "lobFields" explicit_type "array" defaultvalue "null" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}, ${p6}${v6}${)} { ${body}} " preserve_python_body_indent comment "Ejecuta una consulta codificada con sql_filter() o sql_add_condition(). @param string $coded_sql la consulta codificada a ejecutar @param array $groups un arreglo con los campos que se agruparán de la consulta @param array $order un arreglo con los nombres de los campos para el ordenamiento... se puede poner un espacio y ASC o DESC según se desee. @param int $from el primer registro del conjunto de resultados @param int $count la cantidad de registros que se espera leer @param int $maxFetch de ser especificado, la consulta se resuelve recuperando los datos de a bloques de ese tamaño (el tamaño se refiere a cantidad de filas, no tamaño del resultset) @param array $lobFields en caso de especificarse, el método se cuidará de recuperar las filas de a una y cargar los valores de los LOBs @return array un arreglo con los campos solicitados @see sql_filter() @see sql_add_condition()" end operation 2625285 "sql_add_where" preserve_cpp_body_indent public explicit_return_type "string" nparams 2 param inout name "coded_sql" explicit_type "string" param in name "conditions" explicit_type "array" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}${)} { ${body}} " preserve_python_body_indent comment "Agrega una condición general (global) a la instrucción SQL codificada. @param string $coded_sql el SQL Codificado @param array $conditions las condiciones a agregar @return string el SQL resultante encriptado" end operation 2625413 "sql_join_table" preserve_cpp_body_indent public explicit_return_type "string" nparams 6 param inout name "coded_sql" explicit_type "string" param in name "table" explicit_type "string" param in name "alias" explicit_type "string" param in name "fields" explicit_type "array" param in name "conditions" explicit_type "array" param in name "joinType" explicit_type "string" defaultvalue "'INNER'" preserve_java_body_indent preserve_php_body_indent php_def " ${comment}${final}${visibility}${abstract}${static}function ${name}${(}${p0}${v0}, ${p1}${v1}, ${p2}${v2}, ${p3}${v3}, ${p4}${v4}, ${p5}${v5}${)} { ${body}} " preserve_python_body_indent comment "Une mediante un JOIN los valores de la consulta actual con los de otra clase, utilizando para el emparejamiento las condiciones dadas e incorporando al conjunto de resultados los atributos indicados. @param string $coded_sql el sql codificado a modificar @param string $table la tabla contra la que se va a hacer el JOIN @param string $alias el alias de la tabla @param array $fields los nuevos fields a incorporar en el conjunto de resultados @param array $conditions las condiciones de emparejamiento del conjunto de resultados @param string $joinType el tipo de unión (JOIN) que se hará entre las consultas. @return string La consulta resultante." end end end deploymentview 141189 "ORM Deployment" //deployment diagram settings deploymentdiagramsettings end ncouples 1 key "uses" value "" artifact 171653 "ORM" stereotype "source" php_src "" associated_elems class_ref 167685 // ORM end end artifact 171781 "ORMDefinition" stereotype "source" php_src "" associated_elems class_ref 236293 // ORMDefinition end end artifact 185221 "ORMObject" stereotype "source" php_src "" associated_elems class_ref 141317 // ORMObject end ncouples 1 key "" value "" end artifact 205317 "ORMCollection" stereotype "source" php_src "" associated_elems class_ref 256133 // ORMCollection end end artifact 211845 "ORM_STATUS" stereotype "source" php_src "" associated_elems class_ref 269445 // ORM_STATUS end end artifact 211973 "ORM_TYPES" stereotype "source" php_src "" associated_elems class_ref 275973 // ORM_TYPES end end artifact 212101 "ORM_LOAD_STYLE" stereotype "source" php_src "" associated_elems class_ref 282501 // ORM_LOAD_STYLE end end artifact 212229 "ORM_RELATION_TYPE" stereotype "source" php_src "" associated_elems class_ref 282629 // ORM_RELATION_TYPE end end artifact 218757 "AbstractDataBase" stereotype "source" php_src "" associated_elems class_ref 295685 // AbstractDataBase end end artifact 219013 "PrivateAccesor" stereotype "source" php_src "" associated_elems class_ref 289157 // PrivateAccesor end end artifact 225541 "OracleDatabase" stereotype "source" php_src "" associated_elems class_ref 308741 // OracleDatabase end ncouples 1 key "uses" value " " end artifact 232069 "LazyLoader" stereotype "source" php_src "" associated_elems class_ref 315269 // LazyLoader end end artifact 291077 "ORMQuery" stereotype "source" php_src "" associated_elems class_ref 389637 // ORMQuery end end artifact 350725 "ORMQueryOld" stereotype "source" php_src "" associated_elems end end artifact 573701 "ORMAttribute" stereotype "source" php_src "" associated_elems class_ref 702469 // ORMAttribute end end artifact 875397 "MigrationToolkit" stereotype "source" php_src "" associated_elems class_ref 1002885 // MigrationToolkit end end artifact 881925 "ORMQueryMTWrapper" stereotype "source" php_src "" associated_elems class_ref 1022725 // ORMQueryMTWrapper end end artifact 895109 "OracleDatabase2" stereotype "source" php_src "" associated_elems class_ref 1035909 // OracleDatabase2 end end artifact 1081733 "ORMSingleton" stereotype "source" php_src "" associated_elems class_ref 1294085 // ORMSingleton end end artifact 188294 "MySQLDatabase" stereotype "source" php_src "" associated_elems class_ref 174854 // MySQLDatabase end end end package_ref 167429 // exceptions package_ref 200197 // validations end