ANNA Suite  2020b
Multipurpose development suite for Telco applications
Public Member Functions | Static Public Member Functions | List of all members
anna::dbms::String Class Reference

#include <String.hpp>

Inheritance diagram for anna::dbms::String:
Inheritance graph
[legend]
Collaboration diagram for anna::dbms::String:
Collaboration graph
[legend]

Public Member Functions

 String (const int maxSize, const bool isNulleable=false)
 
 String (const String &other)
 
virtual ~String ()
 
const char * getValue () const
 
Stringoperator= (const String &str) noexcept(false)
 
Stringoperator= (const char *str) noexcept(false)
 
Stringoperator= (const std::string &str) noexcept(false)
 
 operator const char * () const
 
virtual std::string asString () const
 
- Public Member Functions inherited from anna::dbms::Data
int getMaxSize () const
 
Type::_v getType () const
 
void * getBuffer ()
 
bool isNull () const
 
bool isNulleable () const
 
void setNull (const bool isNull)
 
void clear ()
 

Static Public Member Functions

static char * strip (char *str)
 

Additional Inherited Members

- Protected Member Functions inherited from anna::dbms::Data
 Data (const Type::_v type, const int maxSize, const bool isNulleable)
 
 Data (const Data &other)
 
void setBuffer (void *buffer)
 

Detailed Description

Cadena usada como entrada y/o salida de las sentencias SQL.

Constructor & Destructor Documentation

◆ String() [1/2]

anna::dbms::String::String ( const int  maxSize,
const bool  isNulleable = false 
)
inlineexplicit

Constructor.

Parameters
maxSizeTamao maximo que puede tener esta cadena. 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.
31  :
32  Data(Type::String, maxSize, isNulleable) {
33  Data::setBuffer(a_value = new char [maxSize + 1]);
34  anna_memset(a_value, 0, maxSize + 1);
35  }
Data(const Type::_v type, const int maxSize, const bool isNulleable)
Definition: Data.hpp:107
void setBuffer(void *buffer)
Definition: Data.hpp:131
#define anna_memset(a, b, c)
Definition: defines.hpp:43
Definition: Data.hpp:32
Here is the call graph for this function:

◆ String() [2/2]

anna::dbms::String::String ( const String other)
inline

Constructor copia.

Parameters
otherInstancia de la que copiar.
41  :
42  Data(other),
43  a_value(other.a_value) {
44  const int maxSize = getMaxSize();
45  Data::setBuffer(a_value = new char [maxSize + 1]);
46  anna_memset(a_value, 0, maxSize + 1);
47  }
Data(const Type::_v type, const int maxSize, const bool isNulleable)
Definition: Data.hpp:107
void setBuffer(void *buffer)
Definition: Data.hpp:131
#define anna_memset(a, b, c)
Definition: defines.hpp:43
int getMaxSize() const
Definition: Data.hpp:45
Here is the call graph for this function:

◆ ~String()

virtual anna::dbms::String::~String ( )
inlinevirtual

Destructor.

52 { delete [] a_value; }

Member Function Documentation

◆ asString()

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

Devuelve una cadena con la informacion referente a esta instancia.

Returns
Una cadena con la informacion referente a esta instancia.

Reimplemented from anna::dbms::Data.

◆ getValue()

const char* anna::dbms::String::getValue ( ) const
inline

Devuelve el contenido de la cadena.

Returns
El contenido de la cadena.
Warning
Si el metodo Data::isNull devolvio true el resultado de este metodo no esta definido.
59 { return a_value; }
Here is the call graph for this function:

◆ operator const char *()

anna::dbms::String::operator const char * ( ) const
inline

Operador de conversion. si el contenido de la columna sociada fue nulo este metodo devolvera NULL.

Returns
El contenido de esta cadena.
90 { return (Data::isNull() == true) ? NULL : a_value; }
bool isNull() const
Definition: Data.hpp:62
Here is the call graph for this function:

◆ operator=() [1/3]

String& anna::dbms::String::operator= ( const String str)
noexcept

Operador de copia.

Parameters
strCadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo indicado en el constructor obtendremos una excepcin.
Returns
La instancia de esta cadena.

◆ operator=() [2/3]

String& anna::dbms::String::operator= ( const char *  str)
noexcept

Operador de asignacin.

Parameters
strCadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo indicado en el constructor obtendremos una excepcin.
Returns
La instancia de esta cadena.

◆ operator=() [3/3]

String& anna::dbms::String::operator= ( const std::string &  str)
inlinenoexcept

Operador de asignacin.

Parameters
strCadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo indicado en el constructor obtendremos una excepcin.
Returns
La instancia de esta cadena.
83 { return operator= (str.c_str()); }
String & operator=(const char *vv)
Definition: String.hpp:74
Here is the call graph for this function:

◆ strip()

static char* anna::dbms::String::strip ( char *  str)
static

Elimina los espacios a la derecha de la cadena recibida.

Returns
La misma cadena recibida pero con los espacios eliminados.

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