GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::StringRecordAttribute Klassenreferenz

Klasse für die String-Attribute eines Record. Repräsentiert ein Attribut vom Typ 'std::string' von einem persistenten Objekt. Mehr ...

#include <GloStringRecordAttribute.h>

Klassendiagramm für glo::StringRecordAttribute:

Öffentliche Methoden

 StringRecordAttribute (ClassInfoAttribute *pType, const std::streampos &rFilePos)
 
 StringRecordAttribute (ClassInfoAttribute *pType, const std::string &rsValue, const std::streampos &rFilePos)
 
virtual bool dataIsFieldContent () const
 
virtual int getAcceptedStringLength () const
 
virtual int getAttributeValueBlob (eut::Blob &rBlob) const
 
virtual BaseRecordAttributegetCopy ()
 
virtual unsigned short getDataFieldLength () const
 
virtual std::string getDataReference () const
 
const std::string & getFileName () const
 
virtual int getFormattedFieldContents (std::string &rsRetVal, DATA_REFERENCE_INFO &rRetValInfo, ObjID ObjID)
 
virtual std::string getValueAsDataString () const
 
virtual std::string getValueAsDisplayString () const
 
virtual std::string getValueAsStreamString () const
 
virtual std::string getValueAsString () const
 
std::string getValueAsString (const std::string &rsValue, bool bFillBlanks) const
 
virtual void * getValueAsVoidPointer ()
 
const std::string & getValueRef () const
 
virtual void initNew ()
 
virtual void setDataReference (const std::string &rsDataReference)
 
void setDeterminedFileNameFromAttributeValue (ObjID ObjID)
 
void setFileName (const std::string &rsFileName)
 
void setValue (const std::string &rsValue)
 
virtual void setValueFromVoid (void *pValue)
 
virtual int takeValue (const BaseRecordAttribute &rT)
 
virtual int updateDataReference (const std::string &rsDataPath, DATA_REFERENCE_INFO MethodInfo)
 
bool operator== (const StringRecordAttribute &rT) const
 Vergleichsoperator.
 
bool operator!= (const StringRecordAttribute &rT) const
 Vergleichsoperator.
 
- Öffentliche Methoden geerbt von glo::BaseRecordAttribute
 BaseRecordAttribute (ClassInfoAttribute *pClassInfoAttribut, const std::streampos &rFilePos)
 
virtual ~BaseRecordAttribute ()
 
unsigned int forget ()
 
AttributeID getAttributeID () const
 
ClassInfoAttributegetClassInfoAttribute () const
 
std::string getClassMemberName () const
 
std::string getClassName () const
 
EnDataType getDataType () const
 
std::string getFieldName () const
 
int getFieldPos ()
 
std::streampos getFilePosition () const
 
EnDataTypeGroup getInfoType ()
 
unsigned int getReferenceCount () const
 
std::string getTableFieldName () const
 
std::string getTableName () const
 
ClassInfoAttribute::Type getType () const
 
std::string getTypeAsCppString () const
 
std::string getTypeAsString () const
 
std::string getTypeInfo () const
 
unsigned int remember ()
 
void setFilePosition (const std::streampos &rFilePos)
 
virtual int setValueFromObjectAttributeID (Persistent &rObject, const AttributeID &rAttributeID)
 
bool operator== (const BaseRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const BaseRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 

Geschützte Methoden

 StringRecordAttribute ()
 
 StringRecordAttribute (const StringRecordAttribute &rT)
 
virtual ~StringRecordAttribute ()
 
- Geschützte Methoden geerbt von glo::BaseRecordAttribute
 BaseRecordAttribute ()
 
 BaseRecordAttribute (const BaseRecordAttribute &rT)
 

Private Methoden

StringRecordAttributeoperator= (const StringRecordAttribute &)
 

Private Attribute

std::string m_sAlternativeFileName
 
std::string m_strValue
 

Ausführliche Beschreibung

Klasse für die String-Attribute eines Record. Repräsentiert ein Attribut vom Typ 'std::string' von einem persistenten Objekt.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ StringRecordAttribute() [1/4]

glo::StringRecordAttribute::StringRecordAttribute ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ ~StringRecordAttribute()

virtual glo::StringRecordAttribute::~StringRecordAttribute ( )
protectedvirtual

Der Destruktor steht nicht zur Verfügung. Das Objekt darf nur über forget() aus dem Speicher entfernt werden.

◆ StringRecordAttribute() [2/4]

glo::StringRecordAttribute::StringRecordAttribute ( ClassInfoAttribute * pType,
const std::streampos & rFilePos )

Konstruktor mit Parameterübergabe.

Parameter
[in]pTypeEs wird ein Klasseninformations-Attribut erwartet.
[in]rFilePosDie Dateiposition.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
Da Objekte dieser Klassen nur von internen Objekten wie Record und TableReaderInterface instanziiert werden, und die wissen was sie tun, wird auf eine Typüberprüfung des Klasseninformations-Attribut verzichtet!

◆ StringRecordAttribute() [3/4]

glo::StringRecordAttribute::StringRecordAttribute ( ClassInfoAttribute * pType,
const std::string & rsValue,
const std::streampos & rFilePos )

Konstruktor mit Parameterübergabe.

Parameter
[in]pTypeEs wird ein Klasseninformations-Attribut erwartet.
[in]rsValueDer Wert des Attributs.
[in]rFilePosDie Dateiposition.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
Da Objekte dieser Klassen nur von internen Objekten wie Record und TableReaderInterface instanziiert werden, und die wissen was sie tun, wird auf eine Typüberprüfung des Klasseninformations-Attribut verzichtet!

◆ StringRecordAttribute() [4/4]

glo::StringRecordAttribute::StringRecordAttribute ( const StringRecordAttribute & rT)
protected

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.
Siehe auch
getCopy()

Dokumentation der Elementfunktionen

◆ dataIsFieldContent()

virtual bool glo::StringRecordAttribute::dataIsFieldContent ( ) const
virtual

Liefert false, da Attributdaten sowohl als Feldinhalt wie auch, wenn zu lang, ausserhalb der Tabelle abgelegt werden. Wenn die Daten ausserhalb der Tabelle abgelegt werden, ist die Referenz auf diese im Tabellenfeld.

Rückgabe
s.o.

Implementiert glo::BaseRecordAttribute.

◆ getAcceptedStringLength()

virtual int glo::StringRecordAttribute::getAcceptedStringLength ( ) const
virtual

Liefert die akzeptierte Stringlänge.

Rückgabe
Wenn Rückgabe == 0, dann darf Länge das sein, was das System her gibt.

◆ getAttributeValueBlob()

virtual int glo::StringRecordAttribute::getAttributeValueBlob ( eut::Blob & rBlob) const
virtual

Liefert hier nur einen Fehler! Der DataStreamer holt sich die Daten über den Dateinamen.

Rückgabe
Liefert immer ERR_METHOD_FORBIDDEN.

Erneute Implementation von glo::BaseRecordAttribute.

◆ getCopy()

virtual BaseRecordAttribute * glo::StringRecordAttribute::getCopy ( )
virtual

Liefert eine Kopie des Objektes. Manchmal braucht man auch eine Kopie eines Attributs, z.B. wenn ein tiefkopierter Record (mit kopierten Attributen) gebraucht wird.

Rückgabe
Die Kopie dieses Attributs
Achtung
Das gelieferte Objekt muss von aufrufender Instanz aus dem Speicher entfernt werden.

Implementiert glo::BaseRecordAttribute.

◆ getDataFieldLength()

virtual unsigned short glo::StringRecordAttribute::getDataFieldLength ( ) const
virtual

Liefert die Feldlänge des Attributwertes als formatierten Datenstring umgewandelt.

Rückgabe
Die aktuelle Feldlänge.

Implementiert glo::BaseRecordAttribute.

◆ getDataReference()

virtual std::string glo::StringRecordAttribute::getDataReference ( ) const
virtual

Liefert die Dateibezeichnung in welcher die Daten des übergebenen RecordAttributes abgelegt werden.

Rückgabe
Ggf. die vorhandene Dateibezeichnung. Wenn leer, dann gibts wohl keine.

Erneute Implementation von glo::BaseRecordAttribute.

◆ getFileName()

const std::string & glo::StringRecordAttribute::getFileName ( ) const

Liefert die Bezeichnung der Datei, in der ein evtl. zu langer String untergebracht werden soll.

Rückgabe
Die Dateibezeichnung.
Achtung
Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung geliefert.

◆ getFormattedFieldContents()

virtual int glo::StringRecordAttribute::getFormattedFieldContents ( std::string & rsRetVal,
DATA_REFERENCE_INFO & rRetValInfo,
ObjID ObjID )
virtual

Liefert sein Stringinhalt als formattiertes Tabellenfeld und eine Information ob eine externe Datei für die Daten des Datensatz-Attributs neu geschrieben, behalten werden soll oder gelöscht werden muss.
Wenn der Wert des Strings in einer Datei gespeichert werden muss, wird dieser Dateiname geliefert. Es wird dann die Bezeichnung der externen Datei auch im Attribut m_sAlternativeFileName gesetzt.

Parameter
[in,out]rsRetValDas Tabellenfeld wie es geschrieben werden soll.
[in,out]rRetValInfoDie Information wie mit einer externen Datei umgegangen werden soll.
[in]ObjIDFalls ein Dateiname kreiert werden muss, wird dieser aus dieser Objekt-ID gebildet. I.d.R. ist dies die Objekt-ID des Objektes, dessen Attributwert erfragt wird.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Erneute Implementation von glo::BaseRecordAttribute.

◆ getValueAsDataString()

virtual std::string glo::StringRecordAttribute::getValueAsDataString ( ) const
virtual

Liefert den Wert als formatierten Datenstring in der richtigen Länge (vorne ggf. mit Leerzeichen aufgefüllt bzw. hinten abgeschnitten, wenn zu lang).

Rückgabe
Der Wert als formatierten Datenstring.

Implementiert glo::BaseRecordAttribute.

◆ getValueAsDisplayString()

virtual std::string glo::StringRecordAttribute::getValueAsDisplayString ( ) const
virtual

Liefert den Wert, wie er für das GUI angezeigt werden kann. Wenn dieser länger als STRING_MAX_TEXT_LENGTH ist, wird dieser abgeschnitten und mit "..." abgeschlossen.

Rückgabe
Der Wert für die Anzeige.

Implementiert glo::BaseRecordAttribute.

◆ getValueAsStreamString()

virtual std::string glo::StringRecordAttribute::getValueAsStreamString ( ) const
virtual

Liefert den Wert als String für den DataStreamer.

Rückgabe
Der Wert für den DataStreamer.

Implementiert glo::BaseRecordAttribute.

◆ getValueAsString() [1/2]

virtual std::string glo::StringRecordAttribute::getValueAsString ( ) const
virtual

Liefert den Wert als String.

Rückgabe
Der Wert als String.

Implementiert glo::BaseRecordAttribute.

◆ getValueAsString() [2/2]

std::string glo::StringRecordAttribute::getValueAsString ( const std::string & rsValue,
bool bFillBlanks ) const

Transformiert einen String gemäss wie in seinen Klasseninformations-Attribut in seiner Länge festgelegt.

Parameter
[in]rsValueDer String, der transformierte werden soll.
[in]bFillBlanksWenn true, werden fehlende Zeichen vorne mit Leerzeichen aufgefüllt.
Rückgabe
Der resultierende String.

◆ getValueAsVoidPointer()

virtual void * glo::StringRecordAttribute::getValueAsVoidPointer ( )
virtual

Liefert einen rohen Zeiger auf den Wert.

Rückgabe
Der rohe Zeiger auf den Wert.

Implementiert glo::BaseRecordAttribute.

◆ getValueRef()

const std::string & glo::StringRecordAttribute::getValueRef ( ) const

Liefert die Referenz auf den Wert.

Rückgabe
Der Wert.

◆ initNew()

virtual void glo::StringRecordAttribute::initNew ( )
virtual

Initialisiert das Attribut neu, der Wert wird auf "" gesetzt.

Implementiert glo::BaseRecordAttribute.

◆ operator!=()

bool glo::StringRecordAttribute::operator!= ( const StringRecordAttribute & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

StringRecordAttribute & glo::StringRecordAttribute::operator= ( const StringRecordAttribute & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ operator==()

bool glo::StringRecordAttribute::operator== ( const StringRecordAttribute & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ setDataReference()

virtual void glo::StringRecordAttribute::setDataReference ( const std::string & rsDataReference)
virtual

Setzt die Bezeichnung der Datei, in der ein evtl. zu langer String untergebracht werden soll.

Parameter
[in]rsDataReferenceDie Dateibezeichnung.
Achtung
Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung übergeben, falls jemand in die Verlegenheit kommt, diese Methode selbst aufrufen zu müssen.

Erneute Implementation von glo::BaseRecordAttribute.

◆ setDeterminedFileNameFromAttributeValue()

void glo::StringRecordAttribute::setDeterminedFileNameFromAttributeValue ( ObjID ObjID)

Setzt die ermittelte Bezeichnung der Datei, in welcher der String untergebracht werden soll, wenn es was zu speichern gibt.

Parameter
[in]ObjIDFalls ein Dateiname kreiert werden muss, wird die Dateibezeichnung aus dieser Objekt-ID gebildet. I.d.R. ist dies die Objekt-ID des Objektes, dessen Attributwert erfragt wird.

◆ setFileName()

void glo::StringRecordAttribute::setFileName ( const std::string & rsFileName)

Setzt die Bezeichnung der Datei, in der ein evtl. zu langer String untergebracht werden soll.

Parameter
[in]rsFileNameDie Dateibezeichnung.
Achtung
Die Dateibezeichnung wird ohne Pfad und ohne Dateierweiterung übergeben, falls jemand in die Verlegenheit kommt, diese Methode selbst aufrufen zu müssen.

◆ setValue()

void glo::StringRecordAttribute::setValue ( const std::string & rsValue)

Setzt den Wert des Attributs.

Parameter
[in]rsValueDer neue Wert.

◆ setValueFromVoid()

virtual void glo::StringRecordAttribute::setValueFromVoid ( void * pValue)
virtual

Setzt den Wert des Attributs aus einem rohen Zeiger. Wird über einen static_cast zugewiesen.

Parameter
[in]pValueDer Wert als roher Zeiger.

Implementiert glo::BaseRecordAttribute.

◆ takeValue()

virtual int glo::StringRecordAttribute::takeValue ( const BaseRecordAttribute & rT)
virtual

Übernimmt den Wert aus übergebenen Attribut, wenn möglich. Es wird versucht, den Wert irgendwie zu casten.

Parameter
[in]rTDas persistente Attribut aus dem der Wert übernommen werden soll.
Rückgabe
Es wird eine Fehler- bzw. Warnmeldung geliefert, wenn der Cast nicht funktionier.

Erneute Implementation von glo::BaseRecordAttribute.

◆ updateDataReference()

virtual int glo::StringRecordAttribute::updateDataReference ( const std::string & rsDataPath,
DATA_REFERENCE_INFO MethodInfo )
virtual

Löscht bzw. schreibt eine externe Datei mit den Daten des Strings ggf. neu.

Parameter
[in]rsDataPathDer vollständigen Verzeichnisnamen, in dem die Daten zu finden sind. Die Daten liegen immer in einem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt.
[in]MethodInfoDie Information wie mit einer externen Datei umgegangen werden soll.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Erneute Implementation von glo::BaseRecordAttribute.

Dokumentation der Datenelemente

◆ m_sAlternativeFileName

std::string glo::StringRecordAttribute::m_sAlternativeFileName
private

Wenn der String zu lang ist, wird er in einer Datei dieser Bezeichnung untergebracht.

◆ m_strValue

std::string glo::StringRecordAttribute::m_strValue
private

Der Wert des Attributs.


Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: