Eneboo - Documentación para desarrolladores
Métodos públicos | Métodos protegidos | Amigas
Referencia de la Clase FLManager

#include <FLManager.h>

Diagrama de herencias de FLManager
AQManager

Lista de todos los miembros.

Métodos públicos

 FLManager ()
 ~FLManager ()
void init ()
void finish ()
FLTableMetaDatametadata (const QString &n, bool quick=false)
FLSqlQueryquery (const QString &n, QObject *parent=0)
FLActionaction (const QString &n)
bool existsTable (const QString &n, bool cache=true) const
bool checkMetaData (const QString &n)
bool checkMetaData (const QString &mtd1, const QString &mtd2)
bool checkMetaData (FLTableMetaData *tmd1, FLTableMetaData *tmd2)
bool alterTable (const QString &n)
bool alterTable (const QString &mtd1, const QString &mtd2, const QString &key=QString::null)
FLTableMetaDatacreateTable (const QString &n)
FLTableMetaDatacreateTable (FLTableMetaData *tmd)
QString formatValueLike (FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValueLike (FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValueLike (const QString &fieldName, FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValueLike (const QString &fieldName, int t, const QVariant &v, const bool upper=false)
QString formatValueLike (int t, const QVariant &v, const bool upper=false)
QString formatValue (FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValue (FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValue (const QString &fieldName, FLFieldMetaData *fMD, const QVariant &v, const bool upper=false)
QString formatAssignValue (const QString &fieldName, int t, const QVariant &v, const bool upper=false)
QString formatValue (int t, const QVariant &v, const bool upper=false)
FLTableMetaDatametadata (QDomElement *mtd, bool quick=false)
FLFieldMetaDatametadataField (QDomElement *field, bool v=true, bool ed=true)
FLRelationMetaDatametadataRelation (QDomElement *relation)
FLParameterQueryqueryParameter (QDomElement *parameter)
FLGroupByQueryqueryGroup (QDomElement *group)
FLTableMetaDatacreateSystemTable (const QString &n)
void loadTables ()
void cleanupMetaData ()
bool isSystemTable (const QString &n)
QString storeLargeValue (FLTableMetaData *mtd, const QString &largeValue)
QVariant fetchLargeValue (const QString &refKey) const

Métodos protegidos

 FLManager (FLSqlDatabase *db)

Amigas

class FLSqlDatabase

Descripción detallada

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.

Autor:
InfoSiAL S.L.

Documentación del constructor y destructor

FLManager::FLManager ( FLSqlDatabase db) [protected]

constructor

FLManager::FLManager ( ) [explicit]

constructor

FLManager::~FLManager ( )

destructor


Documentación de las funciones miembro

FLAction * FLManager::action ( const QString n)

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.

Parámetros:
nNombre de la accion
Devuelve:
Un objeto FLAction con la descripcion de la accion
bool FLManager::alterTable ( const QString n)

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.

Parámetros:
nNombre de la tabla a reconstruir
Devuelve:
TRUE si la modificacin tuvo xito
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.

Parámetros:
nNombre de la tabla a reconstruir
mtd1Descripcion en XML de la vieja estructura
mtd2Descripcion en XML de la nueva estructura
keyClave sha1 de la vieja estructura
Devuelve:
TRUE si la modificacin tuvo xito
bool FLManager::checkMetaData ( FLTableMetaData tmd1,
FLTableMetaData tmd2 
)

Esta funcin es esencialmente igual a la anterior, se proporciona por conveniencia.

bool FLManager::checkMetaData ( const QString mtd1,
const QString mtd2 
) [inline]

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.

Parámetros:
mtd1Cadena de caracteres con XML que describe la primera tabla
mtd2Cadena de caracteres con XML que describe la primera tabla
Devuelve:
TRUE si las dos descripciones son iguales, y FALSE en caso contrario
bool FLManager::checkMetaData ( const QString n)

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.

Parámetros:
nNombre de la tabla a comprobar
Devuelve:
TRUE si los metadatos que hemos definido en FLManager::metadata() para una tabla (nuevos) son iguales a los metadatos de la tabla que tenemos en la base de datos (viejos), y FALSE en caso contrario
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.

Parámetros:
nNombre de la tabla.
Devuelve:
Un objeto FLTableMetaData con los metadatos de la tabla que se ha creado, o 0 si no se pudo crear la tabla o ya exista
FLTableMetaData * FLManager::createTable ( const QString n)

Crea una tabla en la base de datos.

Parámetros:
nNombre de la tabla que se quiere crear
Devuelve:
Un objeto FLTableMetaData con los metadatos de la tabla que se ha creado, o 0 si no se pudo crear la tabla o ya exista
FLTableMetaData * FLManager::createTable ( FLTableMetaData tmd)

Crea una tabla en la base de datos.

Parámetros:
tmdMetadatos de la tabla
Devuelve:
Un objeto FLTableMetaData con los metadatos de la tabla que se ha creado, o 0 si no se pudo crear la tabla o ya exista
bool FLManager::existsTable ( const QString n,
bool  cache = true 
) const

Comprueba si existe la tabla especificada en la base de datos.

Parámetros:
nNombre de la tabla que se quiere comprobar si existe
cacheSi cierto consulta primero la cache de tablas, en caso contrario realiza una consulta a la base para obtener las tablas existentes
Devuelve:
TRUE si existe la tabla, FALSE en caso contrario
QVariant FLManager::fetchLargeValue ( const QString refKey) const

Obtiene el valor de gran tamao segun su clave de referencia.

Parámetros:
refKeyClave de referencia. Esta clave se suele obtener mediante FLManager::storeLargeValue
Devuelve:
Valor de gran tamao almacenado
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 .

Parámetros:
fMDObjeto FLFieldMetaData que describre los metadatos para el campo
vValor que se quiere formatear para el campo indicado
upperSi TRUE convierte a maysculas el valor (si es de tipo cadena)
QString FLManager::formatValue ( int  t,
const QVariant v,
const bool  upper = false 
)

Este mtodo hace lo mismo que el anterior, y se suministra por conveniencia.

Parámetros:
tTipo de datos del valor
vValor que se quiere formatear para el campo indicado
upperSi TRUE convierte a maysculas el valor (si es de tipo cadena)
QString FLManager::formatValueLike ( int  t,
const QVariant v,
const bool  upper = false 
)

Este mtodo hace lo mismo que el anterior, y se suministra por conveniencia.

Parámetros:
tTipo de datos del valor
vValor que se quiere formatear para el campo indicado
upperSi 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 .

Parámetros:
fMDObjeto FLFieldMetaData que describre los metadatos para el campo
vValor que se quiere formatear para el campo indicado
upperSi TRUE convierte a maysculas el valor (si es de tipo cadena)
void FLManager::init ( )

Acciones de inicializacin.

bool FLManager::isSystemTable ( const QString n)

Para saber si la tabla dada es una tabla de sistema.

Parámetros:
nNombre de la tabla.
Devuelve:
TRUE si es una tabla de sistema
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.

Parámetros:
mtdElemento XML con la descripcin de la tabla
quickSi TRUE no realiza chequeos, usar con cuidado
Devuelve:
Objeto FLTableMetaData que contiene la descricin de la relacin
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".

Parámetros:
nNombre de la tabla de la base de datos de la que obtener los metadatos
quickSi TRUE no realiza chequeos, usar con cuidado
Devuelve:
Un objeto FLTableMetaData con los metadatos de la tabla solicitada
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.

Parámetros:
fieldElemento XML con la descripcin del campo
vValor utilizado por defecto para la propiedad visible
edValor utilizado por defecto para la propiedad editable
Devuelve:
Objeto FLFieldMetaData que contiene la descripcin del campo
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.

Parámetros:
relationElemento XML con la descripcin de la relacin
Devuelve:
Objeto FLRelationMetaData que contiene 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.

Parámetros:
nNombre de la consulta de la base de datos que se quiere obtener
Devuelve:
Un objeto FLSqlQuery que representa a la consulta 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.

Parámetros:
groupElemento XML con la descripcin del nivel de agrupamiento de una consulta.
Devuelve:
Objeto FLGroupByQuery que contiene la descricin del nivel de agrupamiento
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.

Parámetros:
parameterElemento XML con la descripcin del parmetro de una consulta
Devuelve:
Objeto FLParameterQuery que contiene la descricin del parmetro
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().

Parámetros:
mtdMetadatos de la tabla que contiene el campo
largeValueValor de gran tamao del campo
Devuelve:
Clave de referencia al valor

Documentación de las funciones relacionadas y clases amigas

friend class FLSqlDatabase [friend]

La documentación para esta clase fue generada a partir de los siguientes ficheros:
 Todo Clases Namespaces Archivos Funciones Variables 'typedefs' Enumeraciones Valores de enumeraciones Propiedades Amigas 'defines'