BankAndCustomer
Lade ...
Suche ...
Keine Treffer
glo::TAllSet< T > Template-Klassenreferenz

AllSet, welcher Objekte aus der Datenbank liefert. Mehr ...

#include <GloTAllSet.h>

Klassendiagramm für glo::TAllSet< T >:
Zusammengehörigkeiten von glo::TAllSet< T >:

Öffentliche Methoden

 TAllSet ()
 
 TAllSet (Base &rBase, bool bWithSubClasses=true)
 
 TAllSet (Base &rBase, const std::string &rsFullIndexName)
 
virtual ~TAllSet ()
 
int get (T *&prRetVal, EnSeekMode eMode)
 
int get (std::shared_ptr< T > &rRetVal, EnSeekMode eMode)
 
int get (glo::ObjID &rObjID, T *&prRetVal, EnSeekMode eMode)
 
int get (glo::ObjID &rObjID, std::shared_ptr< T > &rRetVal, EnSeekMode eMode)
 
int get (std::shared_ptr< T > &rRetVal, const glo::ObjID &rObjID)
 
virtual int getPersistent (std::shared_ptr< BasePersistent > &rRetVal, const glo::ObjID &rObjID)
 
int getOndemand (glo::TOndemand< T > *&prRetVal, EnSeekMode eMode)
 
int getOndemand (std::shared_ptr< glo::TOndemand< T > > &rRetVal, EnSeekMode eMode)
 
int getOndemand (glo::TOndemand< T > &rRetVal, EnSeekMode eMode)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnQueryType eQuerryType)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsFullIndexName, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsIndexSearchValue, EnComparisionOp eComparisionOp)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsRangeStartIndex, const std::string &rsRangeEndIndex)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsFullIndexName, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
 
int getIndexedOndemands (std::vector< glo::TOndemand< T > > &rOndemandVector, const std::string &rsIndexName, unsigned long ulIndexClassID, const std::string &rsRangeStartIndexSearchValue, const std::string &rsRangeEndIndexSearchValue)
 
virtual int setWatch (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)
 
virtual int unsetWatch (TdWatchNotifyMode ulWatchMode, CallBack *pCallBack=0)
 
virtual int getPersistent (BasePersistent *&prRetVal, const glo::ObjID &rObjID)
 Liefert ein Objekt aus dem AllSet der Datenbank mit übergebener Objekt-ID.
 
int get (T *&prRetVal, const glo::ObjID &rObjID)
 Liefert ein Objekt aus dem AllSet der Datenbank mit übergebener Objekt-ID.
 
- Öffentliche Methoden geerbt von glo::BaseAllSet
 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
 
void setReadWithSubClasses (bool bWithSubClasses)
 
bool readWithSubClasses () const
 
- Öffentliche Methoden geerbt von glo::AbstractBaseLot
 AbstractBaseLot ()
 
virtual ~AbstractBaseLot ()
 
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.
 

Private Methoden

 TAllSet (const TAllSet &)
 
void transferObjIListIntoOndemandVector (const std::vector< glo::ObjID > &rSourceContainer, std::vector< glo::TOndemand< T > > &rTargetVevtor)
 
TAllSet< T > & operator= (const TAllSet &)
 

Weitere Geerbte Elemente

- Öffentliche Attribute geerbt von glo::CallBack
std::string m_strDebugInfo
 
- Geschützte Methoden geerbt von glo::BaseAllSet
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 ()
 

Ausführliche Beschreibung

template<class T>
class glo::TAllSet< T >

AllSet, welcher Objekte aus der Datenbank liefert.

Im AllSets sind alle Instanzen eines Objekttyps in der Datenbank.

Wenn ein Objekt dieser Klasse instanziiert und geöffnet wird (geht nur mit gültiger 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.

In einem AllSet sind alle Objekte der entsprechenden Klasse. Somit auch Objekte, welche von der Klasse des AllSet's abgeleitet sind. Wird nun ein Objekt einer abgeleiteten Klasse aus dem (Oberklassen) AllSet "geholt", wird automatisch das Objekt der Unterklasse(n) instantiiert.

Stichworte dafür; "dynamic_cast" und "Class-ID".

Achtung
Das bedeutet, dass ein TAllSet immer vor der Base aus dem Speicher entfernt werden muss.
int main( int argc, char* argv[] )
{
int t_iErr = 0;
FirstGloBaseObjCreator t_ObjCreator;
glo::Base t_Base( "LOCAL", "WindowsWatcher", t_ObjCreator );
t_iErr = t_Base.openBase();
if ( ! t_iErr )
{
std::shared_ptr<FirstClass> t_spShowPersObject;
glo::TAllSet<FirstClass> t_AllSet( t_Base );
t_iErr = t_AllSet.get( t_spShowPersObject, glo::START );
if ( ! t_iErr )
{
do
{
std::cout << "From AllSet ObjId: "
<< t_spShowPersObject->getObjID().toString()
<< "\n" ;
t_iErr = t_AllSet.get( t_spShowPersObject, glo::NEXT );
} while ( ! t_iErr );
}
t_iErr = ( t_iErr == glo::ERR_RANGE ? 0 : t_iErr );
t_Base.closeBase();
}
return t_iErr;
}
AllSet, welcher Objekte aus der Datenbank liefert.
Definition GloTAllSet.h:192

Indexe
Es kann ein AllSet auch mit einem Index instantiiert werden bzw. es kann ein Index gesetzt werden (siehe setFullIndexName(const std::string&) ), wenn der Index im Schema definiert ist. Es wird beim Iterieren durch die Objekte dann die Sortierung des gewählten Indexes genutzt.

Wenn ein Index gesetzt ist, ist es möglich beim Iterieren, die Ausgabe zu filtern (siehe setIndexFilter( const std::string & rsIndexFilter ), setIndexFilter( const std::string & rsIndexFilter, EnComparisionOp eComparisionOp )
und
setIndexFilter( const std::string & rsRangeStartIndexFilter, const std::string & rsRangeEndIndexFilter ).

Ein AllSet kann auch Ergebnismengen liefern, welch wie beim Filtern eingeschränkt sein können (siehe
getIndexedObjIds( std::vector< glo::ObjID > & t_ObjIDContainer, const std::string & rsIndexSearchValue, EnQueryType eQuerryType ),
getIndexedObjIds( std::vector< glo::ObjID > & t_ObjIDContainer, const std::string & rsIndexSearchValue, EnComparisionOp eComparisionOp ),
getIndexedObjIds( std::vector< glo::ObjID > & t_ObjIDContainer, const std::string & rsRangeStartIndexSearchValue, const std::string & rsRangeEndIndexSearchValue ),
getIndexedOndemands( std::vector< glo::TOndemand<T> > & rOndemandVector, const std::string & rsIndex, EnQueryType eQuerryType ),
getIndexedOndemands( std::vector< glo::TOndemand<T> > & rOndemandVector, const std::string & rsIndex, EnComparisionOp eComparisionOp )
und
getIndexedOndemands( std::vector< glo::TOndemand<T> > & rOndemandVector, const std::string & rsRangeStartIndex, const std::string & rsRangeEndIndex ).

Beobachten und benachrichtigen
Ein AllSet kann mit seinen Objekten beobachtet, und entsprechende Beobachter benachrichtigt werden (siehe auch TAllSet< T >::setWatch (...) und TAllSet< T >::unsetWatch (...).

Achtung
Ein TAllSet muss immer vor der Base aus dem Speicher entfernt werden.
Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ TAllSet() [1/4]

template<class T >
glo::TAllSet< T >::TAllSet ( )

Standard-Konstruktor.

◆ TAllSet() [2/4]

template<class T >
glo::TAllSet< T >::TAllSet ( Base & rBase,
bool bWithSubClasses = true )

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
[in]bWithSubClassesWenn false, werden nur Objekte des Template-Typs ohne Unterklassen berücksichtigt.
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ TAllSet() [3/4]

template<class T >
glo::TAllSet< T >::TAllSet ( Base & rBase,
const std::string & rsFullIndexName )

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die maßgebliche Datenbank mitgegeben.
[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.

◆ ~TAllSet()

template<class T >
glo::TAllSet< T >::~TAllSet ( )
virtual

Destruktor.

◆ TAllSet() [4/4]

template<class T >
glo::TAllSet< T >::TAllSet ( const TAllSet< T > & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ get() [1/6]

template<class T >
int glo::TAllSet< T >::get ( glo::ObjID & rObjID,
std::shared_ptr< T > & rRetVal,
EnSeekMode eMode )

Liefert eine Objekt-ID und wenn möglich ein Objekt in einem std::shared_ptr aus dem AllSet der Datenbank in Bezug auf eMode. Damit kann auch über lesegesperrte Objekte iteriert werden (es wird dann nur die Objekt-ID geliefert).

Parameter
[in,out]rObjIDDie Objekt-ID.
[in,out]rRetValBei keinem Fehler das geholte Objekt.
[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. Bei einer Rückgabe == ::ERR_OBJECT_LOCKED wird zwar kein Objekt geliefert, aber die Objekt-ID des gesperrten Objekts.

◆ get() [2/6]

template<class T >
int glo::TAllSet< T >::get ( glo::ObjID & rObjID,
T *& prRetVal,
EnSeekMode eMode )

Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem AllSet der Datenbank in Bezug auf eMode. Damit kann auch über lesegesperrte Objekte iteriert werden (es wird dann nur die Objekt-ID geliefert).

Parameter
[in,out]rObjIDDie Objekt-ID.
[in,out]prRetValBei keinem Fehler das geholte Objekt.
[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. Bei einer Rückgabe == ::ERR_OBJECT_LOCKED wird zwar kein Objekt geliefert, aber die Objekt-ID des gesperrten Objekts.
Achtung
Wenn prRetVal gültig, muss dieses Objekt von der aufrufenden Instanz mittels Persistent::forget() aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode get(glo::ObjID&, std::shared_ptr<T>&, EnSeekMode) zu nutzen.

◆ get() [3/6]

template<class T >
int glo::TAllSet< T >::get ( std::shared_ptr< T > & rRetVal,
const glo::ObjID & rObjID )

Liefert ein Objekt in einem std::shared_ptr aus dem AllSet der Datenbank mit übergebener Objekt-ID.

Parameter
[in,out]rRetValBei keinem Fehler ist das geholte Objekt im std::shared_ptr.
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ get() [4/6]

template<class T >
int glo::TAllSet< T >::get ( std::shared_ptr< T > & rRetVal,
EnSeekMode eMode )

Liefert ein Objekt in einem std::shared_ptr aus dem AllSet der Datenbank in Bezug auf eMode.

Parameter
[in,out]rRetValBei keinem Fehler ist das geholte Objekt im std::shared_ptr.
[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.

◆ get() [5/6]

template<class T >
int glo::TAllSet< T >::get ( T *& prRetVal,
const glo::ObjID & rObjID )

Liefert ein Objekt aus dem AllSet der Datenbank mit übergebener Objekt-ID.

Parameter
[in,out]prRetValBei keinem Fehler das geholte Objekt.
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Wenn prRetVal gültig, muss dieses Objekt von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getPersistent(std::shared_ptr<BasePersistent>&, const glo::ObjID&) bzw. get( std::shared_ptr<T> & rRetVal, const glo::ObjID & rObjID ) zu nutzen.

◆ get() [6/6]

template<class T >
int glo::TAllSet< T >::get ( T *& prRetVal,
EnSeekMode eMode )

Liefert ein Objekt aus dem AllSet der Datenbank in Bezug auf eMode.

Parameter
[in,out]prRetValBei keinem Fehler das geholte Objekt.
[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.
Achtung
Wenn prRetVal gültig, muss dieses Objekt von der aufrufenden Instanz mittels Persistent::forget() aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode get(std::shared_ptr<T>&, EnSeekMode) zu nutzen.

◆ getIndexedOndemands() [1/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsFullIndexName,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [2/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsFullIndexName,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Vector von glo::TOndemand's aus dem AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [3/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsFullIndexName,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [4/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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]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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [5/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Vector von glo::TOndemand's aus dem AllSet in Bezug auf die übergebenen Parameter.

Parameter
[in,out]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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]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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [6/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsIndexName,
unsigned long ulIndexClassID,
const std::string & rsRangeStartIndexSearchValue,
const std::string & rsRangeEndIndexSearchValue )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [7/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsIndexSearchValue,
EnComparisionOp eComparisionOp )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [8/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsIndexSearchValue,
EnQueryType eQuerryType )

Liefert einen Vector von glo::TOndemand's aus dem AllSet in Bezug auf die übergebene Parameter.

Parameter
[in,out]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's 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.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getIndexedOndemands() [9/9]

template<class T >
int glo::TAllSet< T >::getIndexedOndemands ( std::vector< glo::TOndemand< T > > & rOndemandVector,
const std::string & rsRangeStartIndex,
const std::string & rsRangeEndIndex )

Liefert einen Vector von glo::TOndemand's 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]rOndemandVectorIn diesem Vector werden die gefundenen glo::TOndemand's geliefert.
[in]rsRangeStartIndexDer Start-Indexwert.
[in]rsRangeEndIndexDer End-Indexwert.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Es muss im AllSet der IndexName gesetzt sein.
Indexe werden erst nach dem Öffnen des AllSets ermittelt.
Siehe auch
setFullIndexName(const std::string&)

◆ getOndemand() [1/3]

template<class T >
int glo::TAllSet< T >::getOndemand ( glo::TOndemand< T > & rRetVal,
EnSeekMode eMode )

Liefert ein Objekt im übergebenen glo::TOndemand aus dem AllSet der Datenbank in Bezug auf eMode.

Parameter
[in,out]rRetValBei keinem Fehler das geholte Objekt im übergebenen glo::TOndemand.
[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.

◆ getOndemand() [2/3]

template<class T >
int glo::TAllSet< T >::getOndemand ( glo::TOndemand< T > *& prRetVal,
EnSeekMode eMode )

Liefert einem neuen glo::TOndemand-Objekt aus dem AllSet der Datenbank in Bezug auf eMode.

Parameter
[in,out]prRetValBei keinem Fehler das geholte Objekt in einem neuen glo::TOndemand.
[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.
Achtung
Wenn prRetVal gültig, muss dieses Objekt von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getOndemand(std::shared_ptr< glo::TOndemand<T> >&, EnSeekMode) oder getOndemand(glo::TOndemand<T>&, EnSeekMode) zu nutzen.

◆ getOndemand() [3/3]

template<class T >
int glo::TAllSet< T >::getOndemand ( std::shared_ptr< glo::TOndemand< T > > & rRetVal,
EnSeekMode eMode )

Liefert ein glo::TOndemand-Objekt in einem std::shared_ptr aus dem AllSet der Datenbank in Bezug auf eMode.

Parameter
[in,out]rRetValBei keinem Fehler das geholte Objekt in einem std::shared_ptr.
[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.

◆ getPersistent() [1/2]

template<class T >
int glo::TAllSet< T >::getPersistent ( BasePersistent *& prRetVal,
const glo::ObjID & rObjID )
virtual

Liefert ein Objekt aus dem AllSet der Datenbank mit übergebener Objekt-ID.

Parameter
[in,out]prRetValBei keinem Fehler das geholte Objekt.
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Wenn prRetVal gültig, muss dieses Objekt von der aufrufenden Instanz aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getPersistent(std::shared_ptr<BasePersistent>&, const glo::ObjID&) bzw. get( std::shared_ptr<T> & rRetVal, const glo::ObjID & rObjID ) zu nutzen.

Implementiert glo::AbstractBaseLot.

◆ getPersistent() [2/2]

template<class T >
int glo::TAllSet< T >::getPersistent ( std::shared_ptr< BasePersistent > & rRetVal,
const glo::ObjID & rObjID )
virtual

Liefert ein Objekt mit übergebener Objekt-ID aus dem Container.

Parameter
[in,out]rRetValBei keinem Fehler das geholte Objekt.
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Erneute Implementation von glo::AbstractBaseLot.

◆ operator=()

template<class T >
TAllSet< T > & glo::TAllSet< T >::operator= ( const TAllSet< T > & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ setWatch()

template<class T >
int glo::TAllSet< T >::setWatch ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack = 0 )
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 glo::BaseAllSet.

◆ transferObjIListIntoOndemandVector()

template<class T >
void glo::TAllSet< T >::transferObjIListIntoOndemandVector ( const std::vector< glo::ObjID > & rSourceContainer,
std::vector< glo::TOndemand< T > > & rTargetVevtor )
private

Überträgt die glo::ObjID's aus der übergebenen rSourceContainer als glo::TOndemand's in den übergebenen rTargetVevtor.

Parameter
[in]rSourceContainerDie Liste mite den glo::ObjID's.
[in,out]rTargetVevtorDer resultierende Vector von glo::TOndemand's.

◆ unsetWatch()

template<class T >
int glo::TAllSet< T >::unsetWatch ( TdWatchNotifyMode ulWatchMode,
CallBack * pCallBack = 0 )
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 glo::BaseAllSet.


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