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

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

#include <GloClassInfoIndex.h>

Klassendiagramm für glo::ClassInfoIndex:

Klassen

class  IndexAttributeItem
 Information für den Index aus welcher Klasse welches Attribut mit wie viel Zeichen zum Index gehört. Mehr ...
 

Öffentliche Methoden

 ClassInfoIndex ()
 
 ClassInfoIndex (const ClassInfoIndex &rT)
 
 ClassInfoIndex (const std::string &rsIndexName)
 
 ClassInfoIndex (const std::string &rsIndexName, bool bUnique, bool bCaseSensitive, const std::string &rsLanguageKeys, bool bIndexDelimiter)
 
 ClassInfoIndex (const std::string &rsIndexName, bool bUnique, bool bCaseSensitive, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bIndexDelimiter)
 
virtual ~ClassInfoIndex ()
 
std::string _DEBUG_ToString ()
 
void acceptAttributeList (const std::list< IndexAttributeItem * > &rAttributeList)
 
void appendIndexAttributeItem (const std::string &rsIndexPath, int iSignificantCharacter, bool bIsNum)
 
void appendIndexAttributeItem (const std::vector< AttributeID > &rIndexPathVector, int iSignificantCharacter, bool bIsNum)
 
void appendIndexAttributeItem (IndexAttributeItem *pIndexAttributeItem)
 
bool attributeListsAreEqual (const std::list< IndexAttributeItem * > &rAttributeList1, const std::list< IndexAttributeItem * > &rAttributeList2) const
 
void clearAttributeList ()
 
std::list< ClassInfoIndex::IndexAttributeItem * > * getAttributeListPointer ()
 
ClassInfoIndex::IndexAttributeItemgetIndexAttributeItem (EnSeekMode eMode)
 
std::string getLanguageIsoCodes (const std::string &sDelimiter="|") const
 
std::vector< eut::LanguageFunctions::EnLanguageKeygetLanguageKeys () const
 
std::string getLanguageKeysAsString (const std::string &sDelimiter="|") const
 
std::size_t getNumberOfAttributes () const
 
bool isCaseSensitive () const
 
bool isUnique () const
 
ClassInfoIndexoperator= (const ClassInfoIndex &rT)
 
void removeLanguage (eut::LanguageFunctions::EnLanguageKey eLanguageKey)
 
void setCaseSensitive (bool bCaseSensitive)
 
void setIndexDelimiter (bool bIndexDelimiter)
 
void setLanguageKey (eut::LanguageFunctions::EnLanguageKey eLanguageKey)
 
void setLanguageKeys (const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys)
 
void setUnique (bool bUnique)
 
bool thisAttributeListsAreEqualWith (const std::list< IndexAttributeItem * > &rComparisionAttributeList) const
 
void transferAttributeList (std::list< IndexAttributeItem * > &rTargetAttributeList, const std::list< IndexAttributeItem * > &rSourceAttributeList)
 
bool usesIndexDelimiter () const
 
bool operator== (const ClassInfoIndex &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const ClassInfoIndex &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.
 

Private Attribute

std::list< IndexAttributeItem * > m_AttributeList
 
std::list< IndexAttributeItem * >::iterator m_AttributeListIterator
 
bool m_bCaseSensitive
 
bool m_bIndexDelimiter
 
bool m_bUnique
 
std::vector< eut::LanguageFunctions::EnLanguageKeym_LanguageKeys
 

Freundbeziehungen

class ClassInfo
 

Ausführliche Beschreibung

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

Siehe auch
GlobalObjects Indexe
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ClassInfoIndex() [1/5]

glo::ClassInfoIndex::ClassInfoIndex ( )

Standard-Konstruktor.

◆ ClassInfoIndex() [2/5]

glo::ClassInfoIndex::ClassInfoIndex ( const std::string & rsIndexName)

Konstruktor mit Parameterübergabe.

Parameter
[in]rsIndexNameEs wird eine Indexbezeichnung erwartet.

◆ ClassInfoIndex() [3/5]

glo::ClassInfoIndex::ClassInfoIndex ( const std::string & rsIndexName,
bool bUnique,
bool bCaseSensitive,
const std::string & rsLanguageKeys,
bool bIndexDelimiter )

Konstruktor mit Parameterübergabe.

Parameter
[in]rsIndexNameEs wird eine Indexbezeichnung erwartet.
[in]bUniqueWenn true, darf ein zusammengestzter Index-Eintrag nur einmalig vorkommen (siehe auch m_bUnique).
[in]bCaseSensitiveWenn true, werden die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden (siehe auch m_bCaseSensitive).
[in]rsLanguageKeysSprachschlüssel um sprachliche Abhängigkeiten zu berücksichtigen (siehe auch m_LanguageKeys). Es können mehrere Sprachschlüssel, getrennt durch ein '|' übergeben werden.
[in]bIndexDelimiterWenn true, wird ein Index-Trennzeichen genutzt.
Zu beachten
Es werden im Parameter 'rsLanguages' die Sprachschlüssel als numerische Werte erwartet, welche eut::LanguageFunctions::EnLanguageKey entsprechen.

◆ ClassInfoIndex() [4/5]

glo::ClassInfoIndex::ClassInfoIndex ( const std::string & rsIndexName,
bool bUnique,
bool bCaseSensitive,
const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
bool bIndexDelimiter )

Konstruktor mit Parameterübergabe.

Parameter
[in]rsIndexNameEs wird eine Indexbezeichnung erwartet.
[in]bUniqueWenn true, darf der zusammengestzte Index nur einmalig vorkommen (siehe auch m_bUnique).
[in]bCaseSensitiveWenn true, werden die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden (siehe auch m_bCaseSensitive).
[in]rLanguageKeysSprachschlüssel um sprachliche Abhängigkeiten zu berücksichtigen (siehe auch m_LanguageKeys).
[in]bIndexDelimiterWenn true, wird ein Index-Trennzeichen genutzt.
Zu beachten
Es werden im Parameter 'rsLanguages' die Sprachschlüssel als numerische Werte erwartet, welche eut::LanguageFunctions::EnLanguageKey entsprechen.

◆ ClassInfoIndex() [5/5]

glo::ClassInfoIndex::ClassInfoIndex ( const ClassInfoIndex & rT)

Copy-Konstruktor.

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

◆ ~ClassInfoIndex()

virtual glo::ClassInfoIndex::~ClassInfoIndex ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ _DEBUG_ToString()

std::string glo::ClassInfoIndex::_DEBUG_ToString ( )

Liefert den Objektinhalt als String.

◆ acceptAttributeList()

void glo::ClassInfoIndex::acceptAttributeList ( const std::list< IndexAttributeItem * > & rAttributeList)

Löscht alle Einträge in der eigenen Liste der IndexAttribute und übernimmt alle Einträge (kopiert diese) aus der übergebenen Liste.

Parameter
[in]rAttributeListDie zu übernehmende Liste.

◆ appendIndexAttributeItem() [1/3]

void glo::ClassInfoIndex::appendIndexAttributeItem ( const std::string & rsIndexPath,
int iSignificantCharacter,
bool bIsNum )

Fügt ein IndexAttribut aus übergebenen Parametern am Ende seiner Liste der IndexAttribute (m_AttributeList) ein.

Parameter
[in]rsIndexPathDer Pfad zum Index als String, wobei die einzelnen AttributeID's getrennt durch einen Punkt getrennt sind.
Z.B.: wenn der gelieferte String folgendermaßen aussieht: "4.34.6.2.5.5" bedeutet das, daß der Indexpfad aus drei AttributeID's besteht -> '4.34', '6.2' und '5.5'. die erste Ziffer ist die Klassen-ID und die zweite Ziffer die eindeutige Position.
[in]iSignificantCharacterDie Anzahl der Zeichen welche für den Index genutzt werden. Wenn 0, sind alle Zeichen signifikant.
[in]bIsNumWenn true, wird der Index als Zahl betrachtet (Leerzeichen werden ggf. an den Anfang eingefügt). Wenn false, wird der Index als String betrachtet ( es werden ggf. Leerzeichen ans Ende angehängt).

◆ appendIndexAttributeItem() [2/3]

void glo::ClassInfoIndex::appendIndexAttributeItem ( const std::vector< AttributeID > & rIndexPathVector,
int iSignificantCharacter,
bool bIsNum )

Fügt ein IndexAttribut aus übergebenen Parametern am Ende seiner Liste der IndexAttribute (m_AttributeList) ein.

Parameter
[in]rIndexPathVectorDer Pfad zum Index. Siehe auch IndexAttributeItem::m_IndexPathVector.
[in]iSignificantCharacterDie Anzahl der Zeichen welche für den Index genutzt werden. Wenn 0, sind alle Zeichen signifikant.
[in]bIsNumWenn true, wird der Index als Zahl betrachtet (Leerzeichen werden ggf. an den Anfang eingefügt). Wenn false, wird der Index als String betrachtet ( es werden ggf. Leerzeichen ans Ende angehängt).

◆ appendIndexAttributeItem() [3/3]

void glo::ClassInfoIndex::appendIndexAttributeItem ( IndexAttributeItem * pIndexAttributeItem)

Fügt das übergebene IndexAttribute am Ende seiner Liste der IndexAttribute (m_AttributeList) ein.

Parameter
[in]pIndexAttributeItemDas IndexAttribute.
Ausnahmebehandlung
eut::ErrorNExceptionEs wird eine Exception geworfen, wenn pIndexAttributeItem auf kein gültiges Objekt zeigt.
Achtung
Das übergebene IndexAttribute geht 'in den Besitz' dieses Objektes über; darf ergo von der aufrufenden Instanz nicht aus dem Speicher entfernt werden.

◆ attributeListsAreEqual()

bool glo::ClassInfoIndex::attributeListsAreEqual ( const std::list< IndexAttributeItem * > & rAttributeList1,
const std::list< IndexAttributeItem * > & rAttributeList2 ) const

Vergleicht die Einträge aus rAttributeList1 mit den Einträgen in rAttributeList2.

Parameter
[in]rAttributeList1
[in]rAttributeList2
Rückgabe
Wenn in beiden Listen die gleichen Werte sind, wird true geliefert, ansonsten false. Es wird auch false geliefert, wenn die Einträge zwar alle gleich vorhanden sind, aber die Reihenfolge anders ist.

◆ clearAttributeList()

void glo::ClassInfoIndex::clearAttributeList ( )

Entfernt alle den Einträgen in der eigenen Liste der IndexAttribute.

◆ getAttributeListPointer()

std::list< ClassInfoIndex::IndexAttributeItem * > * glo::ClassInfoIndex::getAttributeListPointer ( )

Liefert einen Zeiger auf die eigene m_AttributeList.

Rückgabe
Der Zeiger auf die m_AttributeList.
Achtung
Das gelieferte Objekt lebt nur so lange wie das liefernde Objekt.

◆ getIndexAttributeItem()

ClassInfoIndex::IndexAttributeItem * glo::ClassInfoIndex::getIndexAttributeItem ( EnSeekMode eMode)

Liefert ein IndexAttribute aus seiner Liste der IndexAttribute in Bezug auf eMode.

Parameter
[in]eModeDer Suchmodus.

Parameterbeispiele:

Rückgabe
Wenn erfolgreich, das IndexAttribute.
Achtung
Das gelieferte Objekt lebt nur so lange wie das liefernde Objekt.

◆ getLanguageIsoCodes()

std::string glo::ClassInfoIndex::getLanguageIsoCodes ( const std::string & sDelimiter = "|") const

Liefert die ISO-Sprachcodes aus m_LanguageKeys in einem String. Wenn mehrere Einträge vorhanden sind, diese getrennt durch ein wahlfreies Trennzeichen.

Parameter
[in]sDelimiterDas Trennzeichen, default "|".
Rückgabe
Die Sprachschlüssel, z.B. "DEU-1|AUT|FRA".
Siehe auch
m_LanguageKeys

◆ getLanguageKeys()

std::vector< eut::LanguageFunctions::EnLanguageKey > glo::ClassInfoIndex::getLanguageKeys ( ) const

Liefert die Sprachschlüssel aus m_LanguageKeys.

Rückgabe
Die Sprachschlüssel.
Siehe auch
m_LanguageKeys

◆ getLanguageKeysAsString()

std::string glo::ClassInfoIndex::getLanguageKeysAsString ( const std::string & sDelimiter = "|") const

Liefert die Sprachschlüssel aus m_LanguageKeys in einem String. Wenn mehrere Einträge vorhanden sind, sind diese getrennt durch ein wahlfreies Trennzeichen.

Parameter
[in]sDelimiterDas Trennzeichen, default "|".
Rückgabe
Die Sprachschlüssel, z.B. "1|3|4".
Siehe auch
m_LanguageKeys

◆ getNumberOfAttributes()

std::size_t glo::ClassInfoIndex::getNumberOfAttributes ( ) const

Liefert die Anzahl der Attribute des Indexes.

◆ isCaseSensitive()

bool glo::ClassInfoIndex::isCaseSensitive ( ) const

Liefert, ob die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden werden.

Rückgabe
Wenn true, werden die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden.
Siehe auch
m_bCaseSensitive

◆ isUnique()

bool glo::ClassInfoIndex::isUnique ( ) const

Liefert ob es sich um einen Unique-Index handelt.

Rückgabe
Wenn true, darf der zusammengestzte Index nur einmalig vorkommen.
Siehe auch
m_bUnique

◆ operator!=()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

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

Zuweisungsoperator.

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

◆ operator==()

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

Vergleichsoperator, es werden alle Attribute verglichen.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ removeLanguage()

void glo::ClassInfoIndex::removeLanguage ( eut::LanguageFunctions::EnLanguageKey eLanguageKey)

Entfernt den übergebenen Sprachschlüssel aus m_LanguageKeys.

Parameter
[in]eLanguageKeyDer zu entfernende Sprachschlüssel.
Siehe auch
m_LanguageKeys

◆ setCaseSensitive()

void glo::ClassInfoIndex::setCaseSensitive ( bool bCaseSensitive)

Es wird die Information gesetzt, ob die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden werden. "Name" ist dann ungleich "name".

Parameter
[in]bCaseSensitiveWenn true, werden die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden.
Siehe auch
m_bCaseSensitive

◆ setIndexDelimiter()

void glo::ClassInfoIndex::setIndexDelimiter ( bool bIndexDelimiter)

Setzt ob ein Index-Trennzeichen eingefügt werden soll.

Parameter
[in]bIndexDelimiters.o.
Siehe auch
m_bIndexDelimiter

◆ setLanguageKey()

void glo::ClassInfoIndex::setLanguageKey ( eut::LanguageFunctions::EnLanguageKey eLanguageKey)

Übernimmt den Sprachschlüssel zusätzlich in m_LanguageKeys.

Parameter
[in]eLanguageKeyDer Sprachschlüssel.
Siehe auch
m_LanguageKeys

◆ setLanguageKeys()

void glo::ClassInfoIndex::setLanguageKeys ( const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys)

Kopiert die übergebenen Sprachschlüssel in m_LanguageKeys. Vorherige Sprachschlüssel werden verworfen.

Parameter
[in]rLanguageKeysDer bzw. die Sprachschlüssel.
Siehe auch
m_LanguageKeys

◆ setUnique()

void glo::ClassInfoIndex::setUnique ( bool bUnique)

Es wird die Information gesetzt, ob es sich um einen Unique-Index handelt, oder nicht.

Parameter
[in]bUniqueWenn true, darf ein zusammengestzter Index-Wert nur einmalig vorkommen.
Siehe auch
m_bUnique

◆ thisAttributeListsAreEqualWith()

bool glo::ClassInfoIndex::thisAttributeListsAreEqualWith ( const std::list< IndexAttributeItem * > & rComparisionAttributeList) const

Vergleicht die Einträge aus übergebener Liste mit den Einträgen in der eigenen Liste der IndexAttribute.

Parameter
[in]rComparisionAttributeListDie Vergleichsliste.
Rückgabe
Wenn in beiden Listen die gleichen Werte sind, wird true geliefert, ansonsten false. Es wird auch false geliefert, wenn die Einträge zwar alle gleich vorhanden sind, aber die Reihenfolge anders ist.

◆ transferAttributeList()

void glo::ClassInfoIndex::transferAttributeList ( std::list< IndexAttributeItem * > & rTargetAttributeList,
const std::list< IndexAttributeItem * > & rSourceAttributeList )

Überträgt alle Einträge (kopiert diese) aus rSourceAttributeList an das Ende der rTargetAttributeList (rTargetAttributeList kann schon Objekt enthalten).

Parameter
[in,out]rTargetAttributeListDie Zielliste.
[in]rSourceAttributeListDer Quellliste.

◆ usesIndexDelimiter()

bool glo::ClassInfoIndex::usesIndexDelimiter ( ) const

Liefert ob ein Index-Trennzeichen genutzt wird.

Rückgabe
s.o.
Siehe auch
m_bIndexDelimiter

Freundbeziehungen und Funktionsdokumentation

◆ ClassInfo

friend class ClassInfo
friend

Dokumentation der Datenelemente

◆ m_AttributeList

std::list<IndexAttributeItem *> glo::ClassInfoIndex::m_AttributeList
private

Die Liste der einzelnen IndexAttribute.

◆ m_AttributeListIterator

std::list<IndexAttributeItem*>::iterator glo::ClassInfoIndex::m_AttributeListIterator
private

Interner Iterator der Liste der einzelnen IndexAttribute.

◆ m_bCaseSensitive

bool glo::ClassInfoIndex::m_bCaseSensitive
private

Wenn true, werden die Zeichen des Indexes nach Groß- und Kleinschreibung unterschieden; "Name" ist dann ungleich "name".

◆ m_bIndexDelimiter

bool glo::ClassInfoIndex::m_bIndexDelimiter
private

Wenn ein Index aus mehreren Attributen besteht, können diese durch das Trennzeichen abgetrennt werden.
Wenn z.B. true und das Trennzeichen ist ein '|', wird aus den Attributwerten "Meier" und "Hans der Indexeintrag "Meier|Hans" bzw. wenn kein Trennzeichen genutzt werden soll "MeierHans". /sa g_cIndexDelimiter

◆ m_bUnique

bool glo::ClassInfoIndex::m_bUnique
private

Wenn true, darf ein Indexeintrag nur einmalig vorkommen.

◆ m_LanguageKeys

std::vector< eut::LanguageFunctions::EnLanguageKey > glo::ClassInfoIndex::m_LanguageKeys
private

Sprachschlüssel um sprachliche Abhängigkeiten zu berücksichtigen wie z.B. im deutschen die Sichtweise auf Umlaute ("Ä" == "AE").


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