ANNA Suite  2020b
Multipurpose development suite for Telco applications
Classes | Public Member Functions | Protected Member Functions | List of all members
anna::dbms::Data Class Referenceabstract

#include <Data.hpp>

Inheritance diagram for anna::dbms::Data:
Inheritance graph
[legend]

Classes

struct  Type
 

Public Member Functions

int getMaxSize () const
 
Type::_v getType () const
 
void * getBuffer ()
 
bool isNull () const
 
bool isNulleable () const
 
void setNull (const bool isNull)
 
void clear ()
 
virtual std::string asString () const
 

Protected Member Functions

 Data (const Type::_v type, const int maxSize, const bool isNulleable)
 
 Data (const Data &other)
 
void setBuffer (void *buffer)
 

Detailed Description

Clase base para las variables de entrada/salida asociadas a las sentencias SQL.

Constructor & Destructor Documentation

◆ Data() [1/2]

anna::dbms::Data::Data ( const Type::_v  type,
const int  maxSize,
const bool  isNulleable 
)
inlineexplicitprotected

Constructor.

Parameters
typeTipo de dato de esta instancia.
maxSizeTamao maximo que puede tener este dato. Deberia coincidir con el indicado por la columna con la que vaya a corresponder en la sentencia.
isNulleableIndica si el dato puede tomar valores nulos.
Warning
los tipos de datos complejos deberia reimplementar los metodos #code and #decode.
107  :
108  a_type(type),
109  a_maxSize(maxSize),
110  a_isNulleable(isNulleable),
111  a_isNull(isNulleable),
112  a_buffer(NULL)
113  {;}
bool isNulleable() const
Definition: Data.hpp:68

◆ Data() [2/2]

anna::dbms::Data::Data ( const Data other)
inlineprotected

Constructor copia.

Parameters
otherInstancia de la que copiar.
119  :
120  a_type(other.a_type),
121  a_maxSize(other.a_maxSize),
122  a_isNulleable(other.a_isNulleable),
123  a_isNull(other.a_isNull),
124  a_buffer(other.a_buffer)
125  {;}

Member Function Documentation

◆ asString()

virtual std::string anna::dbms::Data::asString ( ) const
virtual

Devuelve una cadena con la informacion referente a esta instancia.

Returns
Una cadena con la informacion referente a esta instancia.

Reimplemented in anna::dbms::Date, anna::dbms::LongBlock, anna::dbms::ShortBlock, anna::dbms::Float, anna::dbms::String, and anna::dbms::Integer.

◆ clear()

void anna::dbms::Data::clear ( )
inline

Incorpora el método clear para todos tipos de datos con lo que podemos obtener información del medio físico.

Si el dato está definido como "nuleable" activará el indicador que indica que el dato está vacío, en otro caso se asignará un valor adecuado dependiendo del tipo del dato, cero para los números, "" para las cadenas, etc.

86  {
87  setNull(true);
88  do_clear();
89  }
void setNull(const bool isNull)
Definition: Data.hpp:76
Here is the call graph for this function:

◆ getBuffer()

void* anna::dbms::Data::getBuffer ( )
inline

Devuelve el area de memoria asociada a esta variable.

56 { return a_buffer; }

◆ getMaxSize()

int anna::dbms::Data::getMaxSize ( ) const
inline

Devuelve el tamano maximo de este dato que coincidiria con el indicado en el constructor.

Returns
El tamano maximo de este dato que coincidiria con el indicado en el constructor.
45 { return a_maxSize; }

◆ getType()

Type::_v anna::dbms::Data::getType ( ) const
inline

Devuelve el tipo de dato.

Returns
El tipo de datos.
51 { return a_type; }

◆ isNull()

bool anna::dbms::Data::isNull ( ) const
inline

Devuelve el indicador de nulo de esta instancia.

Returns
El indicador de nulo de esta instancia.
62 { return a_isNull; }

◆ isNulleable()

bool anna::dbms::Data::isNulleable ( ) const
inline

Devuelve el valor que indica si este dato puede tomar valores nulos.

Returns
El valor que indica si este dato puede tomar valores nulos.
68 { return a_isNulleable; }

◆ setBuffer()

void anna::dbms::Data::setBuffer ( void *  buffer)
inlineprotected

Establece el area de memoria asociada a esta variable.

Parameters
bufferDireccion de memoria donde comienza el contenido esta variable.
131 { a_buffer = buffer; }

◆ setNull()

void anna::dbms::Data::setNull ( const bool  isNull)
inline

Establece el indicador de nulo de esta instancia.

Parameters
isNullIndicador de nulo de esta instancia.
Warning
Slo tendr�efecto en caso de haber indicado en el constructor que el dato puede tomar valores nulos.
76 { if(a_isNulleable == true) a_isNull = isNull; }
bool isNull() const
Definition: Data.hpp:62
Here is the call graph for this function:

The documentation for this class was generated from the following file: