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

Abstrakte Klasse für Pointer- und Embeddet-Attribute eines Record. Mehr ...

#include <GloAPointerRecordAttribute.h>

Klassendiagramm für glo::APointerRecordAttribute:

Öffentliche Methoden

 APointerRecordAttribute (ClassInfoAttribute *pType, const std::streampos &rFilePos)
 
 APointerRecordAttribute (ClassInfoAttribute *pType, ObjID Value, const std::streampos &rFilePos)
 
void getGeneric (GenericPersistent *&prRetVal)
 
void getGeneric (std::shared_ptr< GenericPersistent > &rRetVal)
 
int getReferencedRecord (Record *&prRetVal)
 
int getReferencedRecord (std::shared_ptr< Record > &rRetVal)
 
bool hasRecord () const
 
bool isGeneric () const
 
void setGeneric (GenericPersistent *pPersGeneric)
 
void setGeneric (std::shared_ptr< GenericPersistent > spPersGeneric)
 
void setReferencedRecord (Record *pRecord)
 
void setReferencedRecord (std::shared_ptr< Record > spRecord)
 
virtual void setValue (ObjID Value)
 
virtual void setValueFromVoid (void *pValue)
 
bool operator== (const APointerRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const APointerRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
- Öffentliche Methoden geerbt von glo::IDRecordAttribute
 IDRecordAttribute (ClassInfoAttribute *pType, const std::streampos &rFilePos)
 
 IDRecordAttribute (ClassInfoAttribute *pType, ObjID Value, const std::streampos &rFilePos)
 
virtual bool dataIsFieldContent () const
 
virtual unsigned short getDataFieldLength () const
 
virtual std::string getValueAsDataString () const
 
virtual std::string getValueAsDisplayString () const
 
virtual std::string getValueAsStreamString () const
 
virtual std::string getValueAsString () const
 
std::string getValueAsString (const ObjID &rValue) const
 
virtual void * getValueAsVoidPointer ()
 
const ObjIDgetValueRef () const
 
virtual void initNew ()
 
virtual int takeValue (const BaseRecordAttribute &rT)
 
bool operator== (const IDRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const IDRecordAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
- Öffentliche Methoden geerbt von glo::BaseRecordAttribute
 BaseRecordAttribute (ClassInfoAttribute *pClassInfoAttribut, const std::streampos &rFilePos)
 
virtual ~BaseRecordAttribute ()
 
unsigned int forget ()
 
AttributeID getAttributeID () const
 
virtual int getAttributeValueBlob (eut::Blob &rBlob) const
 
ClassInfoAttributegetClassInfoAttribute () const
 
std::string getClassMemberName () const
 
std::string getClassName () const
 
virtual BaseRecordAttributegetCopy ()=0
 
virtual std::string getDataReference () const
 
EnDataType getDataType () const
 
std::string getFieldName () const
 
int getFieldPos ()
 
std::streampos getFilePosition () const
 
virtual int getFormattedFieldContents (std::string &rsRetVal, DATA_REFERENCE_INFO &rRetValInfo, ObjID ObjID)
 
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 ()
 
virtual void setDataReference (const std::string &rsDataReference)
 
void setFilePosition (const std::streampos &rFilePos)
 
virtual int setValueFromObjectAttributeID (Persistent &rObject, const AttributeID &rAttributeID)
 
virtual int updateDataReference (const std::string &rsDataPath, DATA_REFERENCE_INFO MethodInfo)
 
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

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

Private Methoden

APointerRecordAttributeoperator= (const APointerRecordAttribute &)
 
void setReferencedRecordDeep (Record *pRecord)
 

Private Attribute

GenericPersistentm_pGeneric
 
Recordm_pReferencedRecord
 

Ausführliche Beschreibung

Abstrakte Klasse für Pointer- und Embeddet-Attribute eines Record.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ APointerRecordAttribute() [1/4]

glo::APointerRecordAttribute::APointerRecordAttribute ( )
protected

Der Standard-Konstruktor steht nicht zur Verfügung.

◆ ~APointerRecordAttribute()

virtual glo::APointerRecordAttribute::~APointerRecordAttribute ( )
protectedvirtual

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

◆ APointerRecordAttribute() [2/4]

glo::APointerRecordAttribute::APointerRecordAttribute ( 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!

◆ APointerRecordAttribute() [3/4]

glo::APointerRecordAttribute::APointerRecordAttribute ( ClassInfoAttribute * pType,
ObjID Value,
const std::streampos & rFilePos )

Konstruktor mit Parameterübergabe.

Parameter
[in]pTypeEs wird ein Klasseninformations-Attribut erwartet.
[in]ValueDer 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!

◆ APointerRecordAttribute() [4/4]

glo::APointerRecordAttribute::APointerRecordAttribute ( const APointerRecordAttribute & )
protected

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ getGeneric() [1/2]

void glo::APointerRecordAttribute::getGeneric ( GenericPersistent *& prRetVal)

Liefert das referenzierte generische Objekt.

Parameter
[in,out]prRetValDas referenzierte generische Objekt, wenn vorhanden.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt mittels GenericPersistent::forget() 'vergessen'.

◆ getGeneric() [2/2]

void glo::APointerRecordAttribute::getGeneric ( std::shared_ptr< GenericPersistent > & rRetVal)

Liefert das referenzierte generische Objekt.

Parameter
[in,out]rRetValDas referenzierte generische Objekt in einem std::shared_ptr, wenn vorhanden.

◆ getReferencedRecord() [1/2]

int glo::APointerRecordAttribute::getReferencedRecord ( Record *& prRetVal)

Liefert den Record des referenzierten Objektes.

Parameter
[in,out]prRetValDer Record des referenzierten Objektes, wenn vorhanden.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Die aufrufende Instanz muss das gelieferte Objekt mittels Record::forget() aus dem Speicher entfernen.

◆ getReferencedRecord() [2/2]

int glo::APointerRecordAttribute::getReferencedRecord ( std::shared_ptr< Record > & rRetVal)

Liefert den Record des referenzierten Objektes.

Parameter
[in,out]rRetValDer Record des referenzierten Objektes in einem std::shared_ptr, wenn vorhanden.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ hasRecord()

bool glo::APointerRecordAttribute::hasRecord ( ) const

Prüft, ob ein Record in m_pReferencedRecord referenziert wird.

Rückgabe
Wenn true, wird ein Record referenziert.

◆ isGeneric()

bool glo::APointerRecordAttribute::isGeneric ( ) const

Prüft, ob ein GenericPersistent referenziert wird.

Rückgabe
Wenn true, wird ein GenericPersistent referenziert.

◆ operator!=()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

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

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ operator==()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ setGeneric() [1/2]

void glo::APointerRecordAttribute::setGeneric ( GenericPersistent * pPersGeneric)

Setzt das referenzierte generische Objekt.

Parameter
[in]pPersGenericDas referenzierte generische Objekt.

◆ setGeneric() [2/2]

void glo::APointerRecordAttribute::setGeneric ( std::shared_ptr< GenericPersistent > spPersGeneric)

Setzt das referenzierte generische Objekt.

Parameter
[in]spPersGenericDas referenzierte generische Objekt in einem std::shared_ptr.

◆ setReferencedRecord() [1/2]

void glo::APointerRecordAttribute::setReferencedRecord ( Record * pRecord)

Setzt den Record des referenzierten Objektes.

Parameter
[in]pRecordDer Record des referenzierten Objektes.

◆ setReferencedRecord() [2/2]

void glo::APointerRecordAttribute::setReferencedRecord ( std::shared_ptr< Record > spRecord)

Setzt den Record des referenzierten Objektes.

Parameter
[in]spRecordDer Record des referenzierten Objektes in einem std::shared_ptr.

◆ setReferencedRecordDeep()

void glo::APointerRecordAttribute::setReferencedRecordDeep ( Record * pRecord)
private

Erzeugt eine Kopie des übergebenen Records und fügt diesen in m_pReferencedRecord ein.

Parameter
[in]pRecordDer neu einzufügende Record, wird nur im Copy-Konstructor genutzt.

◆ setValue()

virtual void glo::APointerRecordAttribute::setValue ( ObjID Value)
virtual

Setzt den Wert des Attributs. Ist hier überschrieben, um bei Übergabe einer NULL-ObjID einen ggf. gesetzten m_pGeneric auf NULL_PTR zu setzen.

Parameter
[in]ValueDer neue Wert.

Erneute Implementation von glo::IDRecordAttribute.

◆ setValueFromVoid()

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

Setzt den Wert des Attributs. Wird über einen static_cast zugewiesen. Ist hier überschrieben, um bei Übergabe einer NULL-ObjID einen ggf. gesetzten m_pGeneric auf NULL_PTR zu setzen.

Parameter
[in]pValueDer roher Zeiger auf den Wert.

Erneute Implementation von glo::IDRecordAttribute.

Dokumentation der Datenelemente

◆ m_pGeneric

GenericPersistent* glo::APointerRecordAttribute::m_pGeneric
private

Wird nur gesetzt, wenn das Attribut Teil eines generischen Objektes ist.
Ein referenziertes generisches Objekte wird hier gespeichert, damit es instanziiert und im GenPersObjectSpy sein kann. Wenn nur der Record des generischen Objekts abgelegt wäre, geht das generische Objekt verloren.

◆ m_pReferencedRecord

Record* glo::APointerRecordAttribute::m_pReferencedRecord
private

Zusätlich zur ObjID (in Oberklasse) der Record des referenzierten Objektes.


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