ANNA Suite
2020b
Multipurpose development suite for Telco applications
|
#include <ObjectFacade.hpp>
Static Public Member Functions | |
static StorageId | getStorageAreaId () |
static StorageArea * | getStorageArea () |
static void | setStorageArea (StorageArea *storageArea) |
static T * | instance (dbms::Connection &connection, Loader &loader) noexcept(false) |
static T * | instance (Loader &loader) noexcept(false) |
static T * | instance (dbms::Connection &connection, CrossedLoader &crossedLoader, Loader &loader) noexcept(false) |
static T * | create (dbms::Connection &connection, Creator &creator) noexcept(false) |
static T * | find (Loader &loader) noexcept(false) |
static void | release (T *&t) |
static void | clear () noexcept(false) |
static T * | duplicate (const T *t) noexcept(false) |
static bool | isLoaded (const Loader &loader) noexcept(false) |
static void | apply (dbms::Connection &connection, Recorder &recorder) noexcept(false) |
static void | apply (dbms::Connection &connection, Eraser &eraser) noexcept(false) |
static void | erase (T *&t) noexcept(false) |
static T * | data (StorageArea::iterator &ii) |
static const T * | data (StorageArea::const_iterator &ii) |
static Object * | allocator () |
Protected Member Functions | |
ObjectFacade () | |
Static Protected Attributes | |
static StorageArea * | st_storageArea |
Clase que facilita el acceso y uso de las clases encargadas de la instanciacion de objetos a partir de los datos contenidos en un medio fisico, que normalmente seria la tabla de una base de datos.
T | clase debe ser heredada de anna::dbos::Object. |
Ejemplo de definicion de una clase usando esta interfaz:
Ejemplo de implementacion de la clase correspondiente a la definicion:
|
inlineprotected |
|
inlinestatic |
|
inlinestaticnoexcept |
Transfiere la informacion del objeto recibido como parametro al medio fisico usando el Recorder recibido como parametro.
connection | Conexion usada si fuera necesario extraer los datos del medio fisico. |
recorder | Grabador usado para transferir los datos al medio fisico. |
|
inlinestaticnoexcept |
Elimina la informacion del objeto recibido como parametro del medio fisico usando el Eraser recibido como parametro.
connection | Conexion usada si fuera necesario extraer los datos del medio fisico. |
eraser | Objecto usado para eliminar los datos al medio fisico. |
|
inlinestaticnoexcept |
Descarga todos los objetos contenidos en el area de almacenamiento.
|
inlinestaticnoexcept |
Crea un objeto en el area de almacenamiento un y lo prepara para ser transferido al medio fisico si fuera necesario.
Este cargador deberia tener todos los datos necesarios para localizar la informacion del objeto que debe cargar. Por ejemplo, en caso de tener que obtener el objeto a partir de los datos contenidos en una tabla de una base de datos deberia conocer la clave primaria del objeto a cargar, o alguna otra combinacion de columnas que lo identifiquen univocamente.
connection | Conexion usada si fuera necesario acceder al medio fisico. |
creator | Creador encargado de generar el objeto de forma que sea facil de localizar posteriormente en el area de almacenamiento. |
|
inlinestatic |
Devuelve el puntero sobre el que estaria posicionado el iterador recibido como parametro.
|
inlinestatic |
Devuelve el puntero sobre el que estaria posicionado el iterador recibido como parametro.
|
inlinestaticnoexcept |
Devuelve de una copia del objeto recibido como parametro e incrementa la cuenta de utilizacion asociada a la instancia.
t | Instancia del tipo T obtenida mediate el metodo instance. |
|
inlinestaticnoexcept |
Elimina toda la informacion referente al objeto recibido como parametro, siempre y cuando solo tenga un unica referencia activa. Descarga el objeto de la memoria de almacenamiento,
t | Instancia del tipo T que vamos a descargar de la memoria de almacenamiento. |
|
inlinestaticnoexcept |
Devuelve la informacion de un objeto cargado desde el medio fisico.
Este cargador deberia tener todos los datos necesarios para localizar la informacion del objeto que debe buscar. Por ejemplo, en caso de tener que obtener el objeto a partir de los datos contenidos en una tabla de una base de datos deberia conocer la clave primaria del objeto a cargar, o alguna otra combinacion de columnas que lo identifiquen univocamente.
loader | Cargador de clase encargado de localizar la informacion referente al objeto buscado. |
|
inlinestatic |
Devuelve el area de almacenamiento asociado a esta clase.
|
inlinestatic |
Devuelve un numerico que puede ser usado en la definicion del area de almacenamiento.
|
inlinestaticnoexcept |
Carga la informacion de un objeto contenida en un medio fisico y la interpreta para adecuarla a una clase C++.
Este cargador deberia tener todos los datos necesarios para localizar la informacion del objeto que debe cargar. Por ejemplo, en caso de tener que obtener el objeto a partir de los datos contenidos en una tabla de una base de datos deberia conocer la clave primaria del objeto a cargar, o alguna otra combinacion de columnas que lo identifiquen univocamente.
connection | Conexion usada si fuera necesario extraer los datos del medio fisico. |
loader | Cargador de clase encargado de localizar y obtener la informacion referente al objeto que deseamos cargar en memoria. |
|
inlinestaticnoexcept |
Carga la informacion de un objeto contenida en un medio fisico y la interpreta para adecuarla a una clase C++.
Este cargador deberia tener todos los datos necesarios para localizar la informacion del objeto que debe cargar.
loader | Cargador de clase encargado de localizar y obtener la informacion referente al objeto que deseamos cargar en memoria. |
|
inlinestaticnoexcept |
Carga la informacion de un objeto contenida en un medio fisico y la interpreta para adecuarla a una clase C++.
Este cargador deberia tener todos los datos necesarios para localizar la informacion del objeto que debe cargar. Por ejemplo, en caso de tener que obtener el objeto a partir de los datos contenidos en una tabla de una base de datos deberia conocer la clave primaria del objeto a cargar, o alguna otra combinacion de columnas que lo identifiquen univocamente.
connection | Conexion usada si fuera necesario extraer los datos del medio fisico. |
crossedLoader | Cargador encargado de encontrar la clave principal a aplicar con el #Loader recibido como parámetro en base a una clave alternativa contenida en el mismo. |
loader | Cargador de clase encargado de localizar y obtener la informacion referente al objeto que deseamos cargar en memoria. |
|
inlinestaticnoexcept |
Permite conocer si un determinado objeto esta alojado en el area de almacenamiento.
loader | Cargador de clase encargado de localizar la informacion referente al objeto buscado. |
|
inlinestatic |
Habilita la reutilizacion del espacio de memoria ocupado por un objeto alojado en el area de almacenamiento.
Este metodo no saca al objeto de la memoria de almacenamiento, sino que marca su espacio de memoria como subceptible de ser reutilizado. De esta forma, si el numero de objetos cargados en memoria se acerca al tamao maximo indicado en la inicializacion, se intentara reusar espacios libres en vez de continuar ampliando la memoria reservada.
t | Instancia del tipo T que vamos a liberar. |
|
inlinestatic |
Establece el area de almacenamiento asociado a esta clase, que deberiaser creado mediante la invocacin al metodo Database::createStorageArea.
storageArea | area de almacenamiento asociada esta clase. |
|
staticprotected |