X-Git-Url: https://git.teslayout.com/public/public/public/?a=blobdiff_plain;f=include%2Fanna%2Fdbms%2FString.hpp;fp=include%2Fanna%2Fdbms%2FString.hpp;h=0000000000000000000000000000000000000000;hb=a3b95648bd76140ef55e0b5941d423eee6c3856f;hp=a591eed43df029e796a3e045d426d1eefe154fd4;hpb=94fc4366adedbf26ca6ef3104f88d41fa85f5a72;p=anna.git diff --git a/include/anna/dbms/String.hpp b/include/anna/dbms/String.hpp deleted file mode 100644 index a591eed..0000000 --- a/include/anna/dbms/String.hpp +++ /dev/null @@ -1,114 +0,0 @@ -// ANNA - Anna is Not Nothingness Anymore // -// // -// (c) Copyright 2005-2015 Eduardo Ramos Testillano & Francisco Ruiz Rayo // -// // -// See project site at http://redmine.teslayout.com/projects/anna-suite // -// See accompanying file LICENSE or copy at http://www.teslayout.com/projects/public/anna.LICENSE // - - -#ifndef anna_dbms_String_hpp -#define anna_dbms_String_hpp - -#include - -#include - -namespace anna { - -namespace dbms { - -/** - Cadena usada como entrada y/o salida de las sentencias SQL. -*/ -class String : public Data { -public: - /** - Constructor. - \param maxSize Tamao maximo que puede tener esta cadena. Deberia coincidir con el indicado - por la columna con la que vaya a corresponder en la sentencia. - \param isNulleable Indica si el dato puede tomar valores nulos. - */ - explicit String(const int maxSize, const bool isNulleable = false) : - Data(Type::String, maxSize, isNulleable) { - Data::setBuffer(a_value = new char [maxSize + 1]); - anna_memset(a_value, 0, maxSize + 1); - } - - /** - Constructor copia. - \param other Instancia de la que copiar. - */ - String(const String& other) : - Data(other), - a_value(other.a_value) { - const int maxSize = getMaxSize(); - Data::setBuffer(a_value = new char [maxSize + 1]); - anna_memset(a_value, 0, maxSize + 1); - } - - /** - Destructor. - */ - virtual ~String() { delete [] a_value; } - - /** - Devuelve el contenido de la cadena. - \return El contenido de la cadena. - \warning Si el metodo Data::isNull devolvio \em true el resultado de este metodo no esta definido. - */ - const char* getValue() const throw() { return a_value; } - - /** - Operador de copia. - \param str Cadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo - indicado en el constructor obtendremos una excepcin. - \return La instancia de esta cadena. - */ - String& operator = (const String& str) throw(RuntimeException); - - /** - Operador de asignacin. - \param str Cadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo - indicado en el constructor obtendremos una excepcin. - \return La instancia de esta cadena. - */ - String& operator = (const char* str) throw(RuntimeException); - - /** - Operador de asignacin. - \param str Cadena de la que copiar. Si la longitud de la cadena sobrepasa el tamao maximo - indicado en el constructor obtendremos una excepcin. - \return La instancia de esta cadena. - */ - String& operator = (const std::string& str) throw(RuntimeException) { return operator= (str.c_str()); } - - /** - Operador de conversion. si el contenido de la columna sociada - fue nulo este metodo devolvera NULL. - \return El contenido de esta cadena. - */ - operator const char*() const throw() { return (Data::isNull() == true) ? NULL : a_value; } - - /** - Elimina los espacios a la derecha de la cadena recibida. - \return La misma cadena recibida pero con los espacios eliminados. - */ - static char* strip(char *str) throw(); - - /** - Devuelve una cadena con la informacion referente a esta instancia. - \return Una cadena con la informacion referente a esta instancia. - */ - virtual std::string asString() const throw(); - -private: - char* a_value; - - void do_clear() throw() { a_value [0] = 0; } -}; - -} -} - -#endif -