BankAndCustomer
Lade ...
Suche ...
Keine Treffer
glo::BaseAllSet Klassenreferenzabstract

Ist die Basisklasse von Template-AllSets und dem generischen AllSet. Mehr ...

#include <GloBaseAllSet.h>

Klassendiagramm für glo::BaseAllSet:
Zusammengehörigkeiten von glo::BaseAllSet:

Klassen

struct  IndexNameClassIdTuple
 Tuple von IndexName und die Klassen-ID der indizierten Klasse. Mehr ...
 

Öffentliche Methoden

 BaseAllSet ()
 
 BaseAllSet (Base &rBase)
 
 BaseAllSet (Base &rBase, unsigned long ulClassID, bool bWithSubClasses=true)
 
 BaseAllSet (Base &rBase, unsigned long ulClassID, const std::string &rsFullIndexName)
 
virtual ~BaseAllSet ()
 
virtual int getTypeAsString (std::string &rsTypeName) override
 
virtual std::size_t size () const override
 
virtual int setBase (Base *pBase) override
 
virtual int setBase (Base &rBase)
 
virtual BasegetBase () const override
 
int open ()
 
int close ()
 
unsigned long getClassID () const
 
int getObjID (glo::ObjID &rObjID, EnSeekMode eMode)
 
int setFullIndexName (const std::string &rsFullIndexName)
 
int setIndex (const BaseAllSet::IndexNameClassIdTuple &rIndexNameClassIdTuple)
 
std::string getFullIndexName () const
 
std::string getIndexName () const
 
unsigned long getIndexClassID () const
 
std::size_t getAvailableIndicesSize ()
 
std::vector< AllSetIndexInfo > getAvailableIndices ()
 
bool isIndexAvailable (const BaseAllSet::IndexNameClassIdTuple &rIndexNameClassIdTuple)
 
bool isIndexAvailable (unsigned long ulClassID, const std::string &rsIndexName)
 
bool isIndexAvailable (const std::string &rsFullIndexName)
 
int setIndexFilter (const std::string &rsIndexFilter)
 
int setIndexFilter (const std::string &rsIndexFilter, EnComparisionOp eComparisionOp)
 
int setIndexFilter (const std::string &rsRangeStartIndexFilter, const std::string &rsRangeEndIndexFilter)
 
int removeIndexFilter ()
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsFullIndexName, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
 
int getIndexedObjIds (std::vector< glo::ObjID > &rObjIDContainer, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
 
virtual bool inLot (const glo::ObjID &rObjID) const override
 
virtual bool inSet (const glo::ObjID &rObjID) const
 
virtual int setCurrentObject (const glo::ObjID &rObjID) override
 
virtual int setPosition (std::size_t nPosition) override
 
virtual int setWatch (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)=0
 
virtual int unsetWatch (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)=0
 
void setReadWithSubClasses (bool bWithSubClasses)
 
bool readWithSubClasses () const
 
- Öffentliche Methoden geerbt von glo::AbstractBaseLot
 AbstractBaseLot ()
 
virtual ~AbstractBaseLot ()
 
virtual int getPersistent (BasePersistent *&prRetVal, const ObjID &prObjID)=0
 
virtual int getPersistent (std::shared_ptr< BasePersistent > &rRetVal, const ObjID &rObjID)
 
virtual int setCurrentObject (const BasePersistent &rObject)
 
- Öffentliche Methoden geerbt von glo::CallBack
 CallBack ()
 
virtual ~CallBack ()
 
virtual void notify (NotifyNote &rNote)
 
CallBackoperator= (const CallBack &rT)
 
bool operator== (const CallBack &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 
bool operator!= (const CallBack &rT) const
 Vergleichsoperator, es werden alle Attribute verglichen.
 

Geschützte Methoden

virtual void setClassID (unsigned long ulClassID)
 
void setClassIDFromTemplate (unsigned long ulClassID)
 
void setAllSetOpen (bool bOpen)
 
int setAvailableIndices ()
 
- Geschützte Methoden geerbt von glo::CallBack
 CallBack (const CallBack &rT)
 
void init ()
 
void deinit ()
 

Private Methoden

 BaseAllSet (const BaseAllSet &)
 
int init (Base &rBase)
 
BaseAllSet::IndexNameClassIdTuple getIndexNameClassIdTuple (unsigned long ulClassID, const std::string &rsIndexName)
 
BaseAllSet::IndexNameClassIdTuple getIndexNameClassIdTuple (const std::string &rsFullIndexName)
 
BaseAllSetoperator= (const BaseAllSet &)
 

Private Attribute

Basem_pBase
 
bool m_bAllSetOpen
 
unsigned long m_ulClassID
 
bool m_bWithSubClasses
 
IndexNameClassIdTuple m_IndexNameWithClassID
 
std::vector< AllSetIndexInfo > m_AvailableIndices
 
bool m_AvailableIndicesRead
 

Freundbeziehungen

class Base
 
class PrivateBase
 

Weitere Geerbte Elemente

- Öffentliche Attribute geerbt von glo::CallBack
std::string m_strDebugInfo
 

Ausführliche Beschreibung

Ist die Basisklasse von Template-AllSets und dem generischen AllSet.

Im AllSets sind alle Instanzen eines Objekttyps in der Datenbank.

Wenn ein Objekt dieser Klasse instanziiert und geöffnet wird (geht nur mit geöffneter Datenbank), wird vom Manager ein Iterator angelegt, mittels dem durch den internen AllSet iteriert werden kann. Im Destruktor wird der Manager benachrichtigt, welcher den Iterator wieder zerstört.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ BaseAllSet() [1/5]

glo::BaseAllSet::BaseAllSet ( )

Standard-Konstruktor.

◆ BaseAllSet() [2/5]

glo::BaseAllSet::BaseAllSet ( Base & rBase)

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ BaseAllSet() [3/5]

glo::BaseAllSet::BaseAllSet ( Base & rBase,
unsigned long ulClassID,
bool bWithSubClasses = true )

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
[in]ulClassIDDie Klassen-ID.
[in]bWithSubClassesWenn false, werden nur Objekte mit der Klassen-ID aus m_ulClassID ohne Unterklassen berücksichtigt
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ BaseAllSet() [4/5]

glo::BaseAllSet::BaseAllSet ( Base & rBase,
unsigned long ulClassID,
const std::string & rsFullIndexName )

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
[in]ulClassIDDie Klassen-ID.
[in]rsFullIndexNameEin AllSet kann nach einem Index sortiert sein. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ~BaseAllSet()

virtual glo::BaseAllSet::~BaseAllSet ( )
virtual

Destruktor. Wenn der AllSet 'geöffnet' ist, wird er geschlossen.

Siehe auch
close()

◆ BaseAllSet() [5/5]

glo::BaseAllSet::BaseAllSet ( const BaseAllSet & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ close()

int glo::BaseAllSet::close ( )

Es wird für diesen AllSet der erstellte Iterator in der referenzierten Datenbank entfernt.

Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ getAvailableIndices()

std::vector< AllSetIndexInfo > glo::BaseAllSet::getAvailableIndices ( )

Liefert alle verfügbaren Indexe. Wenn noch nicht geschehen, werden die Index-Informationen ermittelt.

Rückgabe
s.o.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ getAvailableIndicesSize()

std::size_t glo::BaseAllSet::getAvailableIndicesSize ( )

Liefert die Anzahl aller verfügbaren Indexe. Wenn noch nicht geschehen, werden die Index-Informationen ermittelt.

Rückgabe
s.o.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ getBase()

virtual Base * glo::BaseAllSet::getBase ( ) const
overridevirtual
Rückgabe
Liefert Zeiger auf die Datenbank.
Achtung
Das gelieferte Objekt darf von der aufrufenden Insztanz nicht aus dem Speicher entfernt werden.
Siehe auch
setBase(Base*)

Erneute Implementation von glo::CallBack.

◆ getClassID()

unsigned long glo::BaseAllSet::getClassID ( ) const

Liefert die Klassen-ID des AllSets.

Rückgabe
Die Klassen-ID.

◆ getFullIndexName()

std::string glo::BaseAllSet::getFullIndexName ( ) const

Liefert die vollständige Index-Bezeichnung (z.B. "mynamespace::MyClassName.IndexName") des AllSets.

Rückgabe
Die Indexbezeichnung. Wenn Rückgabe leer, ist der AllSet nach der glo::ObjID sortiert.

◆ getIndexClassID()

unsigned long glo::BaseAllSet::getIndexClassID ( ) const

Liefert die Index-Klassen-ID des AllSets.

Rückgabe
Die Index-Klassen-ID; kann nur größer 0 sein, wenn ein gültiger Index gesetzt ist.
Siehe auch
IndexNameClassIdTuple::m_ulIndexClassID

◆ getIndexedObjIds() [1/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsFullIndexName,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsFullIndexNameDie Indexbezeichnung des zu durchsuchenden Index. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
[in]rsIndexSearchValueDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName bekannt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [2/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsFullIndexName,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsFullIndexNameDie Indexbezeichnung des zu durchsuchenden Index. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
[in]rsIndexSearchValueDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert.
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName bekannt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [3/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsFullIndexName,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter sRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsFullIndexNameDie Indexbezeichnung des zu durchsuchenden Index. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
[in]rsRangeStartIndexSearchValueDer Start-Indexwert.
[in]rsRangeEndIndexSearchValueDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [4/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index.
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsIndexSearchValueDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName bekannt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [5/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index.
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsIndexSearchValueDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert.
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName bekannt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [6/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter sRangeEndIndex den Wert "155" hat, werden alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexNameDie Indexbezeichnung des zu durchsuchenden Index. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
[in]ulIndexClassIDDie ID der Klasse, welche mit dem 'rsIndexName' indiziert ist. Damit ist es möglich, den Index einer Oberklasse zu nutzen.
[in]rsRangeStartIndexSearchValueDer Start-Indexwert.
[in]rsRangeEndIndexSearchValueDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [7/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es können Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexSearchValueDer Indexwert.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [8/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsIndexSearchValueDer Indexausdruck kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden oder wenn Parameter eQueryType == eOQL, wird der String als OQL-Ausdruck interpretiert. Zu beachten; OQL ist noch nicht implementiert!
[in]eQuerryTypeDer Abfragetyp.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedObjIds() [9/9]

int glo::BaseAllSet::getIndexedObjIds ( std::vector< glo::ObjID > & rObjIDContainer,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )

Liefert einen Container von Objekt-IDs aus dem AllSet in Bezug auf die übergebene Parameter. Es kann das Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndexSearchValue den Wert "123" und Parameter rsRangeEndIndexSearchValue den Wert "155" hat, werden nur noch alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in,out]rObjIDContainerIn diese Liste werden die gefundenen Objekt-IDs geliefert.
[in]rsRangeStartIndexSearchValueDer Start-Indexwert.
[in]rsRangeEndIndexSearchValueDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexName()

std::string glo::BaseAllSet::getIndexName ( ) const

Liefert die Index-Bezeichnung des AllSets. Ein AllSet kann nach einem Index sortiert sein.

Rückgabe
Die Indexbezeichnung. Wenn Rückgabe leer, ist der AllSet nach der glo::ObjID sortiert.

◆ getIndexNameClassIdTuple() [1/2]

BaseAllSet::IndexNameClassIdTuple glo::BaseAllSet::getIndexNameClassIdTuple ( const std::string & rsFullIndexName)
private

Liefert ein IndexNameClassIdTuple, wenn übergener Index für die Klasse des Allset's verfügbar ist aus m_AvailableIndices.

Parameter
[in]rsFullIndexNameDie zu prüfende Indexbezeichnung.
Der Index Name muss mit vorangestellter vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
Rückgabe
Wenn ein gültiger Index, sind die Attribute des zurückgelieferten IndexNameClassIdTuple mit den übergebenen Daten gefüllt.

◆ getIndexNameClassIdTuple() [2/2]

BaseAllSet::IndexNameClassIdTuple glo::BaseAllSet::getIndexNameClassIdTuple ( unsigned long ulClassID,
const std::string & rsIndexName )
private

Liefert ein IndexNameClassIdTuple, wenn übergener Index für die Klasse des Allset's verfügbar ist aus m_AvailableIndices.

Parameter
[in]ulClassIDDie Klassen-ID der zu prüfenden Klasse (dieser oder einer Oberklasse).
[in]rsIndexNameDie zu prüfende Indexbezeichnung.
Rückgabe
Wenn ein gültiger Index, sind die Attribute des zurückgelieferten IndexNameClassIdTuple mit den übergebenen Daten gefüllt.

◆ getObjID()

int glo::BaseAllSet::getObjID ( glo::ObjID & rObjID,
EnSeekMode eMode )

Liefert eine Objekt-ID in rObjID aus dem AllSet der referenzierten Datenbank in Bezug auf eMode.

Parameter
[in,out]rObjIDDie Objekt-ID wenn gefunden.
[in]eModeDer Suchmodus.

Parameterbeispiele:

  • glo::START = liefert erstes Element
  • glo::END = liefert letztes Element
  • glo::CURRENT = liefert aktuelles Element
  • glo::NEXT = liefert nächstes Element
  • glo::PREVIOUS = liefert vorheriges Element
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == glo::ERR_RANGE zeigt das Ende des AllSets an.

◆ getTypeAsString()

virtual int glo::BaseAllSet::getTypeAsString ( std::string & rsTypeName)
overridevirtual

Liefert den Typ des AllSets, also den Klassennamen als String, wenn mit der Datenbank verbunden.

Parameter
[in,out]rsTypeNameDie Typbezeichnung.
Rückgabe
Wenn Rückgabewert < 0, ist ein Fehler aufgetreten.

Erneute Implementation von glo::CallBack.

◆ init()

int glo::BaseAllSet::init ( Base & rBase)
private

Es wird die Datenbank gesetzt, geprüft ob offen und ggf. vorhandene Indexe eingelesen.
Wird vom Konstruktor aufgerufen.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
Rückgabe
Wenn Rückgabewert < 0, ist ein Fehler aufgetreten.
Ausnahmebehandlung
eut::ErrorNExceptionWenn ein Fehler auftritt, wird eine Exception geworfen.

◆ inLot()

virtual bool glo::BaseAllSet::inLot ( const glo::ObjID & rObjID) const
overridevirtual

Prüft, ob die übergebene Objekt-ID bzw. ein Objekt mit der übergebenen Objekt-ID im AllSet ist.

Parameter
[in]rObjIDDie gesuchte Objekt-ID.
Rückgabe
Wenn true, ist ein Objekt mit der übergebenen Objekt-ID im AllSet.
Zu beachten
Wenn der AllSet auf eine Index eingestellt ist und ein Filter gesetzt ist, kann eine ansonsten im AllSet befindliche Objekt-ID durch den Filter rausgefiltert sein.
Siehe auch
setFullIndexName(const std::string&), setIndexFilter(const std::string & rsIndexFilter, EnComparisionOp eComparisionOp), setIndexFilter(const std::string & rsRangeStartIndexFilter, const std::string & rsRangeEndIndexFilter)

Implementiert glo::AbstractBaseLot.

◆ inSet()

virtual bool glo::BaseAllSet::inSet ( const glo::ObjID & rObjID) const
virtual

Prüft ob eine Objekt-ID im AllSet in der Datenbank ist.

Parameter
[in]rObjIDDie gesuchte Objekt-ID.
Rückgabe
Wenn true, ist ein Objekt mit der übergebenen Objekt-ID im AllSet.
Zu beachten
Wenn der AllSet auf eine Index eingestellt ist und ein Filter gesetzt ist, kann eine ansonsten im AllSet befindliche Objekt-ID durch den Filter rausgefiltert sein.
Siehe auch
setFullIndexName(const std::string&), setIndexFilter(const std::string & rsIndexFilter, EnComparisionOp eComparisionOp), setIndexFilter(const std::string & rsRangeStartIndexFilter, const std::string & rsRangeEndIndexFilter)

◆ isIndexAvailable() [1/3]

bool glo::BaseAllSet::isIndexAvailable ( const BaseAllSet::IndexNameClassIdTuple & rIndexNameClassIdTuple)

Prüft ob übergebener Index genutzt werden kann.

Parameter
[in]rIndexNameClassIdTupleDer Index einer Klasse mit einer Bezeichnung.
Rückgabe
Wenn true, kann der Index genutzt werden.

◆ isIndexAvailable() [2/3]

bool glo::BaseAllSet::isIndexAvailable ( const std::string & rsFullIndexName)

Prüft ob übergebener Index genutzt werden kann. Es wird ein gültiges IndexNameClassIdTuple zurückgegeben, wenn eine Datenbank referenziert wird, die Klassen bekannt ist (um eine Prüfung vornehmen zu können) und der Index für diese Klasse existiert.

Parameter
[in]rsFullIndexNameDie zu prüfende Indexbezeichnung.
Der Index Name muss mit vorangestellter vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
Rückgabe
Wenn true, kann der Index genutzt werden.

◆ isIndexAvailable() [3/3]

bool glo::BaseAllSet::isIndexAvailable ( unsigned long ulClassID,
const std::string & rsIndexName )

Prüft ob übergebener Index genutzt werden kann.

Parameter
[in]ulClassIDDie Klassen-ID der zu prüfenden Klasse (dieser oder einer Oberklasse).
[in]rsIndexNameDie zu prüfende Indexbezeichnung. Der Index Name muss mit vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
Rückgabe
Wenn true, kann der Index genutzt werden.

◆ open()

int glo::BaseAllSet::open ( )

Es wird für diesen AllSet ein Iterator in der referenzierten Datenbank erstellt, wenn nicht schon geschehen. Diese Methode muss nicht extra aufgerufen werden, weil sie von anderen Methoden, welche einen geöffneten AllSet erwarten aufgerufen wird.

Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ operator=()

BaseAllSet & glo::BaseAllSet::operator= ( const BaseAllSet & )
inlineprivate

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ readWithSubClasses()

bool glo::BaseAllSet::readWithSubClasses ( ) const

Liefert die Information, ob der AllSet auch die Unterklassen der eingestellten Klassen-ID liefert oder nicht.

Rückgabe
Wenn true, werden auch die Unterklassen geliefert; ansonsten nicht.

◆ removeIndexFilter()

int glo::BaseAllSet::removeIndexFilter ( )

Entfernt einen ggf. gesetzten Filter.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setAllSetOpen()

void glo::BaseAllSet::setAllSetOpen ( bool bOpen)
protected

Setzt Attribut m_bAllSetOpen.

Parameter
[in]bOpenDer zu setzende Wert.
Achtung
Diese Methode darf nur von einem Objekt dieser Klasse bzw. Unterklasse oder der PrivateBase aufgerufen werden.

◆ setAvailableIndices()

int glo::BaseAllSet::setAvailableIndices ( )
protected

Wenn Datenbank und Klassen-ID bekannt, wird m_AvailableIndices gefüllt um beim Setzen eines Indexes prüfen zu können, ob Index bekannt ist.

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setBase() [1/2]

virtual int glo::BaseAllSet::setBase ( Base & rBase)
virtual

Setzt die Datenbank in der die Objekte des AllSets gespeichert sind. Sollte schon eine Datenbank referenziert werden und diese stimmt nicht mit der übergebenen Datenbank überein, wird eine eut::ErrorNException geworfen.

Parameter
[in]rBaseDie Datenbank.
Rückgabe
Wenn Rückgabewert < 0, dann ist ein Fehler aufgetreten.
Achtung
Die Datenbank verbleibt in der Verantwortung der aufrufenden Instanz.

◆ setBase() [2/2]

virtual int glo::BaseAllSet::setBase ( Base * pBase)
overridevirtual

Setzt die Datenbank in der die Objekte des AllSets gespeichert sind. Sollte schon eine Datenbank referenziert werden und diese stimmt nicht mit der übergebenen Datenbank überein, wird eine eut::ErrorNException geworfen.

Parameter
[in]pBaseDie Datenbank.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.
Achtung
Die Datenbank verbleibt in der Verantwortung der aufrufenden Instanz. Wird z.B. die Datenbank vor dem Allset, warum auch immer, aus dem Speicher entfernt, muss vorher diese Methode mit nullptr aufgerufen werden.

Erneute Implementation von glo::CallBack.

◆ setClassID()

virtual void glo::BaseAllSet::setClassID ( unsigned long ulClassID)
protectedvirtual

Setzt die Klassen-ID. Wenn es schon eine andere Klassen-ID gibt, wird der AllSet der letzten Klassen-ID geschlossen.
Diese Methode ist virtual, damit sie in der Unterklasse GenericAllSet public aufgerufen werden kann.

Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ setClassIDFromTemplate()

void glo::BaseAllSet::setClassIDFromTemplate ( unsigned long ulClassID)
protected

Setzt die Klassen-ID. Diese Methode wird nur von Unterklasse TAllSet genutzt.

◆ setCurrentObject()

virtual int glo::BaseAllSet::setCurrentObject ( const glo::ObjID & rObjID)
overridevirtual

Setzt den Iterator in der Datenbank auf die Position des Objektes mit übergebener Objekt-ID.

Parameter
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Implementiert glo::AbstractBaseLot.

◆ setFullIndexName()

int glo::BaseAllSet::setFullIndexName ( const std::string & rsFullIndexName)

Setzt die Index-Bezeichnung des AllSets. Es wird der AllSet geschlossen, die Index-Bezeichnung neu gesetzt, dann wieder geöffnet.

Parameter
[in]rsFullIndexNameEin AllSet kann nach einem Index sortiert sein. Wenn ein leerer String übergeben wird, ist der AllSet nach der glo::ObjID sortiert.
Der Index Name muss mit vorangestellter vollständigen Klassennamen übergeben werden (z.B. "mynamespace::MyClassName.IndexName").
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Der Index kann nur gesetzt werden, wenn eine Datenbank referenziert wird, die Klassen-ID bekannt ist (um eine Prüfung vornehmen zu können) und der Index existiert.

◆ setIndex()

int glo::BaseAllSet::setIndex ( const BaseAllSet::IndexNameClassIdTuple & rIndexNameClassIdTuple)

Setzt die Index-Bezeichnung des AllSets. Es wird der AllSet geschlossen, die Index-Bezeichnung neu gesetzt, dann wieder geöffnet.

Parameter
[in]rIndexNameClassIdTupleDer Index einer Klasse mit einer Bezeichnung.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Der Index kann nur gesetzt werden, wenn eine Datenbank referenziert wird, die Klassen-ID bekannt ist (um eine Prüfung vornehmen zu können) und der Index existiert.

◆ setIndexFilter() [1/3]

int glo::BaseAllSet::setIndexFilter ( const std::string & rsIndexFilter)

Setzt einen Filter der die Ausgabe des AllSets in Bezug auf die übergebenen Parameter steuert.

Parameter
[in]rsIndexFilterDer Indexfilter kann die Platzhalter '*' und '?' enthalten, welche bei der Auswertung berücksichtigt werden.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ setIndexFilter() [2/3]

int glo::BaseAllSet::setIndexFilter ( const std::string & rsIndexFilter,
EnComparisionOp eComparisionOp )

Setzt einen Filter der die Ausgabe des AllSets in Bezug auf die übergebenen Parameter steuert. Es kann das Ergebnisse mittels des Parameters eComparisionOp definiert werden. Wenn z.B. Parameter sIndex den Wert "123" und Parameter eComparisionOp den Wert glo::LESS hat, werden nur alle Objekte mit dem Index kleiner 123 geliefert.

Parameter
[in]rsIndexFilterDer Indexfilter.
[in]eComparisionOpDer Vergleichsoperator. Wenn z.B. rsIndex den Wert "123" und eComparisionOp den Wert glo::LESS hat, werden alle Objekte mit dem Index kleiner 123 geliefert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ setIndexFilter() [3/3]

int glo::BaseAllSet::setIndexFilter ( const std::string & rsRangeStartIndexFilter,
const std::string & rsRangeEndIndexFilter )

Setzt eine Filter der die Ausgabe des AllSets in Bezug auf die übergebenen Parameter steuert. Es kann das Ergebnisse mittesl Bereichsangabe definiert werden. Wenn z.B. Parameter rsRangeStartIndexFilter den Wert "123" und Parameter rsRangeEndIndexFilter den Wert "155" hat, werden nur noch alle Objekte mit dem Index grösser/gleich 123 und kleiner/gleich 155 geliefert.

Parameter
[in]rsRangeStartIndexFilterDer Start-Indexwert.
[in]rsRangeEndIndexFilterDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es werden ggf. vorhandene Platzhalter '*' und '?' im Parameter rsIndexSearchValue NICHT berücksichtigt.
Es muss im AllSet der IndexName gesetzt sein.
Siehe auch
setFullIndexName(const std::string&)

◆ setPosition()

virtual int glo::BaseAllSet::setPosition ( std::size_t nPosition)
overridevirtual

Setzt den Iterator in der Datenbank auf die übergebene Position.

Parameter
[in]nPositionDie Position.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Implementiert glo::AbstractBaseLot.

◆ setReadWithSubClasses()

void glo::BaseAllSet::setReadWithSubClasses ( bool bWithSubClasses)

Es ist möglich, das Einlesen der Objekte aus dem AllSet auf die Objekte mit der Klassen-ID zu beschränken; also ohne Unterklassen.

Parameter
[in]bWithSubClassesWenn nur Objekte der Klassen-ID ohne Unterklassen geliefert werden sollen, muss false übergeben werden.
Achtung
Das Setzen hat nur dann Auswirkungen, wenn noch nicht geöffnet und wenn kein Index!

◆ setWatch()

virtual int glo::BaseAllSet::setWatch ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack = 0 )
pure virtual

Der AllSet wird in der Datenbank überwacht.

Parameter
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
  • ::WNM_WRITE = schreiben wird gemeldet
  • ::WNM_WRITE_TRANSACTION = wie ::WNM_WRITE, wird in einer Transaktion ausgelöst
  • ::WNM_DELETE = löschen wird gemeldet
  • ::WNM_DELETE_TRANSACTION = wie ::WNM_DELETE, wird in einer Transaktion ausgelöst
  • ::WNM_LOCK = sperren wird gemeldet
  • ::WNM_UNLOCK = freigeben wird gemeldet
  • ::WNM_INSERT = einfügen eines neuen Objektes im AllSet wird gemeldet
  • ::WNM_INSERT_TRANSACTION = wie ::WNM_INSERT, wird in einer Transaktion ausgelöst
[in]pCallBackDas CallBack-Objekt, welches über seine Methode CallBack::notify(NotifyNote&) benachrichtigt wird. Wenn kein CallBack übergeben, wird notify(NotifyNote&) von this genommen; in diesem Fall sollte die Methode notify(NotifyNote&) in der jeweiligen abgeleiteten Klasse überschrieben sein.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben muss die korrespondierende Methode unsetWatch(TdWatchNotifyMode, CallBack*) mit gleichen Parameterwerten genutzt werden.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor die Überwachung aufgehoben wurde!
Siehe auch
Beobachten und benachrichtigen.

Implementiert in glo::TAllSet< T > und glo::TAllSet< BankAccount >.

◆ size()

virtual std::size_t glo::BaseAllSet::size ( ) const
overridevirtual

Liefert die Anzahl der Objekte im AllSet.

Rückgabe
Die Anzahl der Objekte im AllSet. Ein Rückgabewert < 0 zeigt einen Fehler an.
Zu beachten
Diese Methode öffnet den AllSet; siehe auch open().

Implementiert glo::AbstractBaseLot.

◆ unsetWatch()

virtual int glo::BaseAllSet::unsetWatch ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack = 0 )
pure virtual

Die Überwachung des AllSets in der referenzierten Datenbank wird aufgehoben.

Parameter
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
  • ::WNM_WRITE = schreiben wird gemeldet
  • ::WNM_WRITE_TRANSACTION = wie ::WNM_WRITE, wird in einer Transaktion ausgelöst
  • ::WNM_DELETE = löschen wird gemeldet
  • ::WNM_DELETE_TRANSACTION = wie ::WNM_DELETE, wird in einer Transaktion ausgelöst
  • ::WNM_LOCK = sperren wird gemeldet
  • ::WNM_UNLOCK = freigeben wird gemeldet
  • ::WNM_INSERT = einfügen eines neuen Objektes im AllSet wird gemeldet
  • ::WNM_INSERT_TRANSACTION = wie ::WNM_INSERT, wird in einer Transaktion ausgelöst
[in]pCallBackDas CallBack-Objekt, welches über seine Methode CallBack::notify(NotifyNote&) benachrichtigt werden sollte.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatch(TdWatchNotifyMode, CallBack*) initiiet wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Beobachten und benachrichtigen.

Implementiert in glo::TAllSet< T > und glo::TAllSet< BankAccount >.

Freunde und bezugnehmende Symbol-Dokumentation

◆ Base

friend class Base
friend

◆ PrivateBase

friend class PrivateBase
friend

Dokumentation der Datenelemente

◆ m_AvailableIndices

std::vector<AllSetIndexInfo> glo::BaseAllSet::m_AvailableIndices
private

Die verfügbaren Indexe (deren Bezeichnungen, Typ, Sprachcode und ob 'CaseSensitive') der Klasse mit der Klassen-ID aus m_ulClassID und die Indexe deren Oberklassen werden bei Bedarf ermittelt.

◆ m_AvailableIndicesRead

bool glo::BaseAllSet::m_AvailableIndicesRead
private

Die verfügbaren Indexe (deren Bezeichnungen, Typ, Sprachcode und ob 'CaseSensitive') der Klasse mit der Klassen-ID aus m_ulClassID und die Indexe deren Oberklassen wurden ermittelt. Da sich Indexe nicht ändern, reicht ein einmaliges einlesen.

◆ m_bAllSetOpen

bool glo::BaseAllSet::m_bAllSetOpen
private

Ist true, wenn AllSet in der Datenbank geöffnet ist.

◆ m_bWithSubClasses

bool glo::BaseAllSet::m_bWithSubClasses
private

Wenn true, wird der AllSet mit Objekten mit der m_ulClassID und den Unterklassen gefüllt. Wenn false, wird der AllSet nur mit Objekten mit der m_ulClassID gefüllt.
Voreinstellung ist true.

Zu beachten
Diese Option wird bei Benutzung eines Indexes nicht ausgewertet!

◆ m_IndexNameWithClassID

IndexNameClassIdTuple glo::BaseAllSet::m_IndexNameWithClassID
private

Ein AllSet kann nach einem Index sortiert sein. Wenn, dann stehen die Index- Bezeichnung und die Klasen-ID hier drinn. Wenn nichts in IndexNameClassIdTuple::m_sIndexName steht, ist der AllSet nach der glo::ObjID sortiert.

◆ m_pBase

Base* glo::BaseAllSet::m_pBase
private

AllSets gehören zu einer Datenbank.

◆ m_ulClassID

unsigned long glo::BaseAllSet::m_ulClassID
private

Ein AllSet gilt nur für eine Klasse und deren Unterklassen. Hier also die Klassen-ID.


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