Eneboo - Documentación para desarrolladores
|
#include <FLManager.h>
Esta clase sirve como administrador de la base de datos.
Encargada de abrir los formularios u obtener sus definiciones (ficheros .ui). Tambien mantiene los metadatos de todas la tablas de la base de datos, ofreciendo la posibilidad de recuperar los metadatos mediante objetos FLTableMetaData de una tabla dada.
FLManager::FLManager | ( | FLSqlDatabase * | db | ) | [protected] |
constructor
FLManager::FLManager | ( | ) | [explicit] |
constructor
FLManager::~FLManager | ( | ) |
destructor
Obtiene la definicin de una accin a partir de su nombre.
Este mtodo busca en los [id_modulo].xml la accin que se le pasa como nombre y construye y devuelve el objeto FLAction correspondiente. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
n | Nombre de la accion |
Modifica la estructura o metadatos de una tabla, preservando los posibles datos que pueda contener.
Segn la definicin existente en un momento dado de los metadatos en el fichero .mtd, este mtodo reconstruye la tabla con esos metadatos sin la prdida de informacin o datos, que pudieran existir en ese momento en la tabla.
n | Nombre de la tabla a reconstruir |
bool FLManager::alterTable | ( | const QString & | mtd1, |
const QString & | mtd2, | ||
const QString & | key = QString::null |
||
) |
Esta funcin es esencialmente igual a la anterior, se proporciona por conveniencia.
Modifica la estructura de una tabla dada, preservando los datos. La nueva estructura y la vieja se pasan en cadenas de caracteres con la descripcion XML.
n | Nombre de la tabla a reconstruir |
mtd1 | Descripcion en XML de la vieja estructura |
mtd2 | Descripcion en XML de la nueva estructura |
key | Clave sha1 de la vieja estructura |
bool FLManager::checkMetaData | ( | FLTableMetaData * | tmd1, |
FLTableMetaData * | tmd2 | ||
) |
Esta funcin es esencialmente igual a la anterior, se proporciona por conveniencia.
Esta funcin es esencialmente igual a la anterior, se proporciona por conveniencia.
Compara los metadatos de dos tablas, la definicin en XML de esas dos tablas se pasan como dos cadenas de caracteres.
mtd1 | Cadena de caracteres con XML que describe la primera tabla |
mtd2 | Cadena de caracteres con XML que describe la primera tabla |
Comprueba si los metadatos definidos actualmente para una tabla en un fichero .mtd, difieren de los que tiene actualmente esa tabla en la base de datos (difieren con la copia que se tiene actualmente de ellos).
Cuando se realizan modificaciones en la definicin de una tabla, es probable que esa tabla ya exista en la base de datos. Con este mtodo podemos determinar posteriormente si lo metadatos definidos actualmente difieren de los de la tabla existente en la base de datos.
n | Nombre de la tabla a comprobar |
void FLManager::cleanupMetaData | ( | ) |
Limpieza la tabla flmetadata, actualiza el cotenido xml con el de los fichero .mtd actualmente cargados
FLTableMetaData * FLManager::createSystemTable | ( | const QString & | n | ) |
Crea una tabla del sistema.
Este mtodo lee directamente de disco el fichero con la descripcin de una tabla del sistema y la crea en la base de datos. Su uso normal es para inicializar el sistema con tablas iniciales.
n | Nombre de la tabla. |
FLTableMetaData * FLManager::createTable | ( | const QString & | n | ) |
Crea una tabla en la base de datos.
n | Nombre de la tabla que se quiere crear |
FLTableMetaData * FLManager::createTable | ( | FLTableMetaData * | tmd | ) |
Crea una tabla en la base de datos.
tmd | Metadatos de la tabla |
Comprueba si existe la tabla especificada en la base de datos.
n | Nombre de la tabla que se quiere comprobar si existe |
cache | Si cierto consulta primero la cache de tablas, en caso contrario realiza una consulta a la base para obtener las tablas existentes |
Obtiene el valor de gran tamao segun su clave de referencia.
refKey | Clave de referencia. Esta clave se suele obtener mediante FLManager::storeLargeValue |
void FLManager::finish | ( | ) |
Acciones de finalizacin.
QString FLManager::formatAssignValue | ( | FLFieldMetaData * | fMD, |
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatAssignValue | ( | const QString & | fieldName, |
FLFieldMetaData * | fMD, | ||
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatAssignValue | ( | const QString & | fieldName, |
int | t, | ||
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatAssignValueLike | ( | const QString & | fieldName, |
FLFieldMetaData * | fMD, | ||
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatAssignValueLike | ( | FLFieldMetaData * | fMD, |
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatAssignValueLike | ( | const QString & | fieldName, |
int | t, | ||
const QVariant & | v, | ||
const bool | upper = false |
||
) |
QString FLManager::formatValue | ( | FLFieldMetaData * | fMD, |
const QVariant & | v, | ||
const bool | upper = false |
||
) |
Devuelve el contenido del valor de de un campo formateado para ser reconocido por la base de datos actual, dentro de la clausura WHERE de SQL.
Este mtodo toma como parametros los metadatos del campo definidos con FLFieldMetaData. Adems de TRUE y FALSE como posibles valores de un campo lgico tambin acepta los valores S y No (o su traduccin al idioma correspondiente). Las fechas son adaptadas al forma AAAA-MM-DD, que es el formato reconocido por PostgreSQL .
fMD | Objeto FLFieldMetaData que describre los metadatos para el campo |
v | Valor que se quiere formatear para el campo indicado |
upper | Si TRUE convierte a maysculas el valor (si es de tipo cadena) |
Este mtodo hace lo mismo que el anterior, y se suministra por conveniencia.
t | Tipo de datos del valor |
v | Valor que se quiere formatear para el campo indicado |
upper | Si TRUE convierte a maysculas el valor (si es de tipo cadena) |
Este mtodo hace lo mismo que el anterior, y se suministra por conveniencia.
t | Tipo de datos del valor |
v | Valor que se quiere formatear para el campo indicado |
upper | Si TRUE convierte a maysculas el valor (si es de tipo cadena) |
QString FLManager::formatValueLike | ( | FLFieldMetaData * | fMD, |
const QVariant & | v, | ||
const bool | upper = false |
||
) |
Devuelve el contenido del valor de de un campo formateado para ser reconocido por la base de datos actual en condiciones LIKE, dentro de la clausura WHERE de SQL.
Este mtodo toma como parametros los metadatos del campo definidos con FLFieldMetaData. Adems de TRUE y FALSE como posibles valores de un campo lgico tambin acepta los valores S y No (o su traduccin al idioma correspondiente). Las fechas son adaptadas al forma AAAA-MM-DD, que es el formato reconocido por PostgreSQL .
fMD | Objeto FLFieldMetaData que describre los metadatos para el campo |
v | Valor que se quiere formatear para el campo indicado |
upper | Si TRUE convierte a maysculas el valor (si es de tipo cadena) |
void FLManager::init | ( | ) |
Acciones de inicializacin.
Para saber si la tabla dada es una tabla de sistema.
n | Nombre de la tabla. |
void FLManager::loadTables | ( | ) |
Carga en la lista de tablas los nombres de las tablas de la base de datos
FLTableMetaData * FLManager::metadata | ( | QDomElement * | mtd, |
bool | quick = false |
||
) |
Crea un objeto FLTableMetaData a partir de un elemento XML.
Dado un elemento XML, que contiene la descripcin de una tablas, construye y devuelve el objeto FLTableMetaData correspondiente. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
mtd | Elemento XML con la descripcin de la tabla |
quick | Si TRUE no realiza chequeos, usar con cuidado |
FLTableMetaData * FLManager::metadata | ( | const QString & | n, |
bool | quick = false |
||
) |
Para obtener definicion de una tabla de la base de datos, a partir de un fichero XML.
El nombre de la tabla corresponde con el nombre del fichero mas la extensin ".mtd" que contiene en XML la descripcin de la tablas. Este mtodo escanea el fichero y construye/devuelve el objeto FLTableMetaData correspondiente, adems realiza una copia de estos metadatos en una tabla de la misma base de datos para poder determinar cuando ha sido modificados y as, si es necesario, reconstruir la tabla para que se adapte a la nuevos metadatos. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
IMPORTANTE :Para que estos mtodos funcionen correctamente, es estrictamente necesario haber creado la base de datos en PostgreSQL con codificacin UNICODE; "createdb -E UNICODE abanq".
n | Nombre de la tabla de la base de datos de la que obtener los metadatos |
quick | Si TRUE no realiza chequeos, usar con cuidado |
FLFieldMetaData * FLManager::metadataField | ( | QDomElement * | field, |
bool | v = true , |
||
bool | ed = true |
||
) |
Crea un objeto FLFieldMetaData a partir de un elemento XML.
Dado un elemento XML, que contiene la descripcin de un campo de una tabla construye y agrega a una lista de descripciones de campos el objeto FLFieldMetaData correspondiente, que contiene dicha definicin del campo. Tambien lo agrega a una lista de claves compuesta, si el campo construido pertenece a una clave compuesta. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
field | Elemento XML con la descripcin del campo |
v | Valor utilizado por defecto para la propiedad visible |
ed | Valor utilizado por defecto para la propiedad editable |
FLRelationMetaData * FLManager::metadataRelation | ( | QDomElement * | relation | ) |
Crea un objeto FLRelationMetaData a partir de un elemento XML.
Dado un elemento XML, que contiene la descripcin de una relacin entre tablas, construye y devuelve el objeto FLRelationMetaData correspondiente, que contiene dicha definicin de la relacin. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
relation | Elemento XML con la descripcin de la relacin |
FLSqlQuery * FLManager::query | ( | const QString & | n, |
QObject * | parent = 0 |
||
) |
Para obtener una consulta de la base de datos, a partir de un fichero XML.
El nombre de la consulta corresponde con el nombre del fichero mas la extensin ".qry" que contiene en XML la descripcin de la consulta. Este mtodo escanea el fichero y construye/devuelve el objeto FLSqlQuery. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
n | Nombre de la consulta de la base de datos que se quiere obtener |
FLGroupByQuery * FLManager::queryGroup | ( | QDomElement * | group | ) |
Crea un objeto FLGroupByQuery a partir de un elemento XML.
Dado un elemento XML, que contiene la descripcin de un nivel de agrupamiento de una consulta, construye y devuelve el objeto FLGroupByQuery correspondiente. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
group | Elemento XML con la descripcin del nivel de agrupamiento de una consulta. |
FLParameterQuery * FLManager::queryParameter | ( | QDomElement * | parameter | ) |
Crea un objeto FLParameterQuery a partir de un elemento XML.
Dado un elemento XML, que contiene la descripcin de una parmetro de una consulta, construye y devuelve el objeto FLParameterQuery correspondiente. NO SE HACEN CHEQUEOS DE ERRORES SINTCTICOS EN EL XML.
parameter | Elemento XML con la descripcin del parmetro de una consulta |
QString FLManager::storeLargeValue | ( | FLTableMetaData * | mtd, |
const QString & | largeValue | ||
) |
Utilizado para almacenar valores grandes de campos en tablas separadas indexadas por claves SHA del contenido del valor.
Se utiliza para optimizar consultas que incluyen campos con valores grandes, como por ejemplo imgenes, para manejar en las consulta SQL la referencia al valor que es de tamao constante en vez del valor en s. Esto disminuye el trfico al reducir considerablemente el tamao de los registros obtenidos.
Las consultas pueden utilizar una referencia y obtener su valor slo cuando se necesita mediante FLManager::fetchLargeValue().
mtd | Metadatos de la tabla que contiene el campo |
largeValue | Valor de gran tamao del campo |
friend class FLSqlDatabase [friend] |