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

In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribut aufgebaut ist. Mehr ...

#include <GloClassInfoAttribute.h>

Klassendiagramm für glo::ClassInfoAttribute:

Klassen

class  Type
 Zusammengefasste Typinformationen für ein ClassInfoAttribute. Mehr ...
 

Öffentliche Methoden

 ClassInfoAttribute ()
 
 ClassInfoAttribute (const ClassInfoAttribute &rT)
 
 ClassInfoAttribute (const std::string &rsName, const std::string &rsTableName, const std::string &rsFieldName, int iFieldPos, const std::string &rsAttributeType, const std::string &rsInfo)
 
virtual ~ClassInfoAttribute ()
 
std::string _DEBUG_ToString ()
 
std::string formatAnIndexString (const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, void *pIndexAttributeItem) const
 
std::string formatAnSearchIndexString (const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, void *pIndexAttributeItem) const
 
AttributeID getAttributeID () const
 
std::string getClassAttributeName () const
 
EnDataType getDataType () const
 
std::string getDataTypeInfo () const
 
std::string getDataTypeSubType () const
 
unsigned long getDataTypeSubTypeClassID () const
 
std::string getDeveloperAccessControl () const
 
std::string getFieldName () const
 
int getFieldPos () const
 
std::string getFieldPosAsString () const
 
EnDataTypeGroup getInfoType ()
 
int getSignificantCharacter () const
 
std::string getTableFieldName () const
 
std::string getTableName () const
 
ClassInfoAttribute::Type getType () const
 
std::string getTypeAsCppString () const
 
std::string getTypeAsString () const
 
bool isNum () const
 
ClassInfoAttributeoperator= (const ClassInfoAttribute &rT)
 
void setDataType (EnDataType eType)
 
void setDataTypeInfo (const std::string &rsInfo)
 
void setDataTypeSubType (const std::string &rsSubType)
 
void setDataTypeSubTypeClassID (unsigned long ulSubTypeClassID)
 
void setDeveloperAccessControl (const std::string &rsAccessControl)
 
void setFieldName (const std::string &rsName)
 
void setFieldPos (int iFieldPos)
 
void setTableName (const std::string &rsName)
 
bool operator== (const ClassInfoAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const ClassInfoAttribute &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
- Öffentliche Methoden geerbt von glo::ClassInfoItem
 ClassInfoItem ()
 
 ClassInfoItem (const ClassInfoItem &rT)
 
 ClassInfoItem (const std::string &rsName)
 
virtual ~ClassInfoItem ()
 
unsigned long getClassID () const
 
std::string getClassName () const
 
std::string getDeveloperDescription () const
 
std::string getName () const
 
ClassInfogetParent ()
 
ClassInfoItemoperator= (const ClassInfoItem &rT)
 
void setDeveloperDescription (const std::string &rsDeveloperDescription)
 
void setMyClassInfo (ClassInfo *pMyClassInfo)
 
void setName (const std::string &rsName)
 
bool operator== (const ClassInfoItem &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const ClassInfoItem &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 

Öffentliche, statische Methoden

static unsigned int getDataTypesCount ()
 
static EnDataTypeGroup getInfoType (EnDataType eType)
 
static int getRecordAttributeLimits (const ClassInfoAttribute::Type &rDataType, std::string &rsMin, std::string &rsMax, std::string &rsDataFieldSize)
 
static int getSignificantCharacter (EnDataType eDataType)
 
static std::string getTypeAsCppString (EnDataType eType, const std::string &rsSubType)
 
static std::string getTypeAsString (EnDataType eType, bool bSimple=true)
 
static EnDataType getTypeFromString (const std::string &rsType)
 
static bool isNum (EnDataType eDataType)
 

Private Methoden

void convertAttributeType (const std::string &rsType, const std::string &rsTypeInfo)
 
std::string formatAnyIndexString (const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, bool bIsSearchString, void *pIndexAttributeItem) const
 

Private Attribute

int m_iFieldPos
 
std::string m_sDeveloperAccessControl
 
std::string m_sFieldName
 
std::string m_sTableName
 
ClassInfoAttribute::Type m_Type
 

Freundbeziehungen

class ClassInfo
 
class SchemaInterface
 

Ausführliche Beschreibung

In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribut aufgebaut ist.

Um aus Tabellen Objekte und aus Objekten Tabellen bauen zu können, brauchen wir Klasseninformations-Attribute.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ClassInfoAttribute() [1/3]

glo::ClassInfoAttribute::ClassInfoAttribute ( )

Standard-Konstruktor.

◆ ClassInfoAttribute() [2/3]

glo::ClassInfoAttribute::ClassInfoAttribute ( const std::string & rsName,
const std::string & rsTableName,
const std::string & rsFieldName,
int iFieldPos,
const std::string & rsAttributeType,
const std::string & rsInfo )

Konstruktor mit Parameterübergabe.

Parameter
[in]rsNameDie Attributbezeichnung.
[in]rsTableNameDie Tabellenbezeichnung in der Attribute dieses Klasseninformations-Attributs abgelegt werden.
[in]rsFieldNameDie Tabellenfeldbezeichnung in der Attribute dieses Klasseninformations-Attribute abgelegt werden.
[in]iFieldPosDie SpaltenPosition in der Tabelle.
[in]rsAttributeTypeDer Attributtyp als String (siehe auch SchemaTypeString).
[in]rsInfoDie Info wie z.B. eine Zahl für eine Stringlänge oder ein Ausdruck wie dependent etc. (siehe auch EnDataTypeGroup).
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ClassInfoAttribute() [3/3]

glo::ClassInfoAttribute::ClassInfoAttribute ( const ClassInfoAttribute & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ ~ClassInfoAttribute()

virtual glo::ClassInfoAttribute::~ClassInfoAttribute ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ _DEBUG_ToString()

std::string glo::ClassInfoAttribute::_DEBUG_ToString ( )
Rückgabe
Der Objektinhalt als String im Debug-Modus.

◆ convertAttributeType()

void glo::ClassInfoAttribute::convertAttributeType ( const std::string & rsType,
const std::string & rsTypeInfo )
private

Setzt aus übergebenen Parametern den eigenen Typ.

Parameter
[in]rsTypeDer Attributtyp als String (siehe auch SchemaTypeString).
[in]rsTypeInfoDie Info wie z.B. eine Zahl für eine Stringlänge oder ein Ausdruck wie dependent etc.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ formatAnIndexString()

std::string glo::ClassInfoAttribute::formatAnIndexString ( const std::string & rsStringToBeFormatted,
const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
bool bCaseSensitive,
void * pIndexAttributeItem ) const

Liefert einen formatierten Indexstring.

Parameter
[in]rsStringToBeFormattedDer zu formatierende String.
[in]rLanguageKeysDie Sprachschlüssel in einem Vector.
[in]bCaseSensitiveWenn false, werden alle Zeichen im rsStringToBeFormatted in Großbuchstaben umgewandelt.
[in]pIndexAttributeItemDie Information, welcher Index gemeint ist. Wird in ClassInfoIndex::IndexAttributeItem gecastet.
Rückgabe
Der formatierte Indexstring.

◆ formatAnSearchIndexString()

std::string glo::ClassInfoAttribute::formatAnSearchIndexString ( const std::string & rsStringToBeFormatted,
const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
bool bCaseSensitive,
void * pIndexAttributeItem ) const

Liefert einen formatierten Such-Indexstring. Der Unterschied zur Methode ClassInfoAttribute::formatAnIndexString (...) ist der, dass in dieser Methode der Suchstring, wenn ggf. zu lang durch Platzhalter '*', nicht gekürzt wird.

Parameter
[in]rsStringToBeFormattedDer zu formatierende String.
[in]rLanguageKeysDie Sprachschlüssel in einem Vector.
[in]bCaseSensitiveWenn false, werden alle Zeichen im rsStringToBeFormatted in Großbuchstaben umgewandelt.
[in]pIndexAttributeItemDie Information, welcher Index gemeint ist. Wird in ClassInfoIndex::IndexAttributeItem gecastet.
Rückgabe
Der formatierte Indexstring.

◆ formatAnyIndexString()

std::string glo::ClassInfoAttribute::formatAnyIndexString ( const std::string & rsStringToBeFormatted,
const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
bool bCaseSensitive,
bool bIsSearchString,
void * pIndexAttributeItem ) const
private

Liefert einen formatierten Such-Indexstring.

Parameter
[in]rsStringToBeFormattedDer zu formatierende String.
[in]rLanguageKeysDie Sprachschlüssel in einem Vector.
[in]bCaseSensitiveWenn false, werden alle Zeichen im rsStringToBeFormatted in Großbuchstaben umgewandelt.
[in]bIsSearchStringWenn gesetzt,ist der Unterschied der, dass der Suchstring, wenn ggf. zu lang durch Platzhalter '*', nicht gekürzt wird.
[in]pIndexAttributeItemDie Information, welcher Index gemeint ist. Wird in ClassInfoIndex::IndexAttributeItem gecastet.
Rückgabe
Der formatierte Indexstring.

◆ getAttributeID()

AttributeID glo::ClassInfoAttribute::getAttributeID ( ) const
Rückgabe
Die Attribut-ID.

◆ getClassAttributeName()

std::string glo::ClassInfoAttribute::getClassAttributeName ( ) const

Liefert die Attributbezeichnung mit Klassenbezeichnung getrennt durch einen Punkt. Z.B. "MyClass.m_MyAttribute".

Rückgabe
Die Klassen- und Attributbezeichnung.

◆ getDataType()

EnDataType glo::ClassInfoAttribute::getDataType ( ) const
Rückgabe
Der Attributtyp als Enum.

◆ getDataTypeInfo()

std::string glo::ClassInfoAttribute::getDataTypeInfo ( ) const
Rückgabe
Die Typ-Info.
Siehe auch
ClassInfoAttribute::Type::getTypeInfo(), EnDataTypeGroup.

◆ getDataTypesCount()

static unsigned int glo::ClassInfoAttribute::getDataTypesCount ( )
static

Liefert Anzahl der unterstützten Attributtypen. Kann genutzt werden, um alle Datentypen als String anzuzeigen indem Werte einzeln an ClassInfoAttribute::getTypeAsString(EnDataType, bool) übergeben werden.

Rückgabe
Die Anzahl der unterstützten Attributtypen.

◆ getDataTypeSubType()

std::string glo::ClassInfoAttribute::getDataTypeSubType ( ) const
Rückgabe
Der evtl. SubTyp.
Siehe auch
ClassInfoAttribute::Type::getSubType()const

◆ getDataTypeSubTypeClassID()

unsigned long glo::ClassInfoAttribute::getDataTypeSubTypeClassID ( ) const
Rückgabe
Die evtl. SubTyp-Klassen-ID.
Siehe auch
ClassInfoAttribute::Type::getSubTypeClassID().

◆ getDeveloperAccessControl()

std::string glo::ClassInfoAttribute::getDeveloperAccessControl ( ) const
Rückgabe
Die Zugriffskontrolle für das Attribut.

◆ getFieldName()

std::string glo::ClassInfoAttribute::getFieldName ( ) const
Rückgabe
Die Tabellenfeldbezeichnung.

◆ getFieldPos()

int glo::ClassInfoAttribute::getFieldPos ( ) const
Rückgabe
Die Tabellen Spaltenposition (Start bei 0).

◆ getFieldPosAsString()

std::string glo::ClassInfoAttribute::getFieldPosAsString ( ) const
Rückgabe
Die Tabellen Spaltenposition (Start bei 0) als String.

◆ getInfoType() [1/2]

EnDataTypeGroup glo::ClassInfoAttribute::getInfoType ( )
Rückgabe
Der Gruppentyp des unterstützten Attributtyps.

◆ getInfoType() [2/2]

static EnDataTypeGroup glo::ClassInfoAttribute::getInfoType ( EnDataType eType)
static

Liefert den Gruppentyp des übergebenen Attributtyps.

Parameter
[in]eTypeDer Attributtyp
Rückgabe
Der Gruppentyp.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ getRecordAttributeLimits()

static int glo::ClassInfoAttribute::getRecordAttributeLimits ( const ClassInfoAttribute::Type & rDataType,
std::string & rsMin,
std::string & rsMax,
std::string & rsDataFieldSize )
static

Liefert die Limits des übergebenen Klasseninformations-Attributtyps.

Parameter
[in]rDataTypeDer RecordAttributeTyp.
[in,out]rsMinMinimaler Wert des Attributes vom übergebenen Typs.
[in,out]rsMaxMaximaler Wert des Attributes vom übergebenen Typs.
[in,out]rsDataFieldSizeLänge des Datenfeldes .
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ getSignificantCharacter() [1/2]

int glo::ClassInfoAttribute::getSignificantCharacter ( ) const
Rückgabe
Die Anzahl der Zeichen des Attributs.
Siehe auch
TypeDataLength.

◆ getSignificantCharacter() [2/2]

static int glo::ClassInfoAttribute::getSignificantCharacter ( EnDataType eDataType)
static

Liefert die voreingestellte Länge des übergebenen Attributtyps.

Parameter
[in]eDataTypeDer zu prüfende Attributtyp.
Rückgabe
Die voreingestellte Länge.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.
Siehe auch
TypeDataLength.

◆ getTableFieldName()

std::string glo::ClassInfoAttribute::getTableFieldName ( ) const

Liefert die Tabellen- und Tabellenfeldbezeichnung getrennt durch einen Punkt. Z.B. "TableName.FieldName".

Rückgabe
Die Tabellen- und Feldbezeichnung.

◆ getTableName()

std::string glo::ClassInfoAttribute::getTableName ( ) const
Rückgabe
Die Tabellenbezeichnung.

◆ getType()

ClassInfoAttribute::Type glo::ClassInfoAttribute::getType ( ) const
Rückgabe
Die zusammengefasste Typinformationen.

◆ getTypeAsCppString() [1/2]

std::string glo::ClassInfoAttribute::getTypeAsCppString ( ) const
Rückgabe
Der von GlobalObjects unterstützten Attributtyp, wie er in der Header- und Source-Datei steht.
Siehe auch
CppTypeString.

◆ getTypeAsCppString() [2/2]

static std::string glo::ClassInfoAttribute::getTypeAsCppString ( EnDataType eType,
const std::string & rsSubType )
static

Liefert den übergebenen Arttributtyp in Verbindung mit dem SubString, wie er in der Header- und Source-Datei steht.

Parameter
[in]eTypeDer Attributtyp
[in]rsSubTypeDer SubTyp.
Rückgabe
Der unterstützten Arttributtyp.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.
Siehe auch
CppTypeString.

◆ getTypeAsString() [1/2]

std::string glo::ClassInfoAttribute::getTypeAsString ( ) const

Liefert den von GlobalObjects unterstützten Arttributtyp, wie er im Schema steht.

Rückgabe
Der unterstützten Arttributtyp.
Siehe auch
SchemaTypeString.

◆ getTypeAsString() [2/2]

static std::string glo::ClassInfoAttribute::getTypeAsString ( EnDataType eType,
bool bSimple = true )
static

Liefert den übergebenen Attributtyp als String wie er im Schema steht.

Parameter
[in]eTypeDer Attributtyp
[in]bSimpleWenn true, werden 'unsigned' Zahlen ohne "unsigned" geliefert.
Rückgabe
Der unterstützten Arttributtyp.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.
Siehe auch
SchemaTypeString.

◆ getTypeFromString()

static EnDataType glo::ClassInfoAttribute::getTypeFromString ( const std::string & rsType)
static

Liefert den übergebenen Attributtyp.

Parameter
[in]rsTypeDer Attributtyp in einem String (GLORA_SCHEMATYPESTRING).
Rückgabe
Der unterstützten Arttributtyp.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ isNum() [1/2]

bool glo::ClassInfoAttribute::isNum ( ) const
Rückgabe
Ist true, wenn der Typ eine Zahl ist.

◆ isNum() [2/2]

static bool glo::ClassInfoAttribute::isNum ( EnDataType eDataType)
static

Prüft ob es sich beim übergebenen Attributtyp um eine Zahl handelt.

Parameter
[in]eDataTypeDer zu prüfende Attributtyp.
Rückgabe
Wenn true, ist der übergebene Attributtyp eine Zahl.
Zu beachten
Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.

◆ operator!=()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

ClassInfoAttribute & glo::ClassInfoAttribute::operator= ( const ClassInfoAttribute & rT)

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ operator==()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ setDataType()

void glo::ClassInfoAttribute::setDataType ( EnDataType eType)

Setzt den eindeutigen unterstützten Attributtyp.

Parameter
[in]eTypeDie Attributtyp.

◆ setDataTypeInfo()

void glo::ClassInfoAttribute::setDataTypeInfo ( const std::string & rsInfo)

Setzt die Info wie z.B. eine Zahl für eine Stringlänge oder ein Ausdruck wie dependent etc. Siehe auch ClassInfoAttribute::Type::setTypeInfo() und EnDataTypeGroup.

Parameter
[in]rsInfoDie Info.

◆ setDataTypeSubType()

void glo::ClassInfoAttribute::setDataTypeSubType ( const std::string & rsSubType)

Setzt einen evtl. SubTyp.

Parameter
[in]rsSubTypeDer SubTyp.
Siehe auch
ClassInfoAttribute::Type::setSubType (...)

◆ setDataTypeSubTypeClassID()

void glo::ClassInfoAttribute::setDataTypeSubTypeClassID ( unsigned long ulSubTypeClassID)

Setzt eine evtl. SubTyp-Klassen-ID.

Parameter
[in]ulSubTypeClassIDDie SubTyp-Klassen-ID.
Siehe auch
ClassInfoAttribute::Type::setSubTypeClassID (...)

◆ setDeveloperAccessControl()

void glo::ClassInfoAttribute::setDeveloperAccessControl ( const std::string & rsAccessControl)

Setzt die Zugriffskontrolle für das Attribut.

Parameter
[in]rsAccessControlDie Zugriffskontrolle für das Attribut.

◆ setFieldName()

void glo::ClassInfoAttribute::setFieldName ( const std::string & rsName)

Setzt die Tabellenfeldbezeichnung in der Attribute dieses Klasseninformations-Attribute abgelegt werden.

Parameter
[in]rsNameDie Tabellenfeldbezeichnung.

◆ setFieldPos()

void glo::ClassInfoAttribute::setFieldPos ( int iFieldPos)

Setzt die SpaltenPosition in der Tabelle.

Parameter
[in]iFieldPosDie SpaltenPosition.

◆ setTableName()

void glo::ClassInfoAttribute::setTableName ( const std::string & rsName)

Setzt die Tabellenbezeichnung in der Attribute dieses Klasseninformations-Attributs abgelegt werden.

Parameter
[in]rsNameDie Tabellenbezeichnung.

Freundbeziehungen und Funktionsdokumentation

◆ ClassInfo

friend class ClassInfo
friend

◆ SchemaInterface

friend class SchemaInterface
friend

Dokumentation der Datenelemente

◆ m_iFieldPos

int glo::ClassInfoAttribute::m_iFieldPos
private

Die die Spaltenposition in der Tabelle (Start bei 0) in der der Wert dieses Klasseninformations-Attributs abgelegt wird.

◆ m_sDeveloperAccessControl

std::string glo::ClassInfoAttribute::m_sDeveloperAccessControl
private

Die Zugriffskontrolle, um bei der Erzeugung der Header-Dateien die Attribute 'privat', 'geschützt' oder 'öffentlich' zuzuweisen.
Wird vom SchemaInterface nur gesetzt und ausgewertet, wenn diese im Developer-Mode ist.

Achtung
Wird NICHT in ein Blob gestreamt bzw. aus einem Blob übernommen.

◆ m_sFieldName

std::string glo::ClassInfoAttribute::m_sFieldName
private

Die Tabellenfeldbezeichnung in der der Wert dieses Klasseninformations-Attributs abgelegt wird.

◆ m_sTableName

std::string glo::ClassInfoAttribute::m_sTableName
private

Die Tabellenbezeichnung in der der Wert dieses Klasseninformations-Attributs abgelegt wird.

◆ m_Type

ClassInfoAttribute::Type glo::ClassInfoAttribute::m_Type
private

Die zusammengefasste Typinformationen.


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