![]() |
GlobalObjects
|
Eine typsichere Liste von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte). Mehr ...
#include <GloTOndemandList.h>
Öffentliche Methoden | |
TOndemandList () | |
TOndemandList (Base &rBase) | |
virtual | ~TOndemandList () |
virtual int | get (glo::ObjID &rObjID, T *&prRetVal, EnSeekMode eMode) |
virtual int | get (std::shared_ptr< T > &rRetVal, const ObjID &rObjID) |
virtual int | get (T *&prRetVal, const ObjID &rObjID) |
virtual int | get (T *&prRetVal, EnSeekMode eMode) |
virtual int | getTypeAsString (std::string &rsTypeName) override |
virtual int | insert (T *NewObj) |
Fügt das übergebene persistentes Objekt in die Liste hinter der aktuellen Position ein. | |
virtual int | insert (std::shared_ptr< T > NewObj) |
Fügt das übergebene persistentes Objekt in die Liste hinter der aktuellen Position ein. | |
virtual int | insertBefore (T *NewObj, const T *Object) |
Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein. | |
virtual int | insertBefore (std::shared_ptr< T > NewObj, const std::shared_ptr< T > Object) |
Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein. | |
virtual int | append (T *NewObj) |
Fügt ein persistentes Objekt an das Ende der Liste ein. | |
virtual int | append (std::shared_ptr< T > NewObj) |
Fügt ein persistentes Objekt an das Ende der Liste ein. | |
virtual int | remove (T *Object) |
Entfernt das übergebene persistentes Objekt aus der Liste. | |
virtual int | remove (std::shared_ptr< T > Object) |
Entfernt das übergebene persistentes Objekt aus der Liste. | |
virtual int | get (std::shared_ptr< T > &rRetVal, EnSeekMode eMode) |
Liefert ein Objekt aus der Liste in Bezug auf eMode. | |
virtual int | get (TOndemand< T > &rRetVal, EnSeekMode eMode) |
Liefert ein Objekt aus der Liste in Bezug auf eMode. | |
virtual int | get (glo::ObjID &rObjID, std::shared_ptr< T > &rRetVal, EnSeekMode eMode) |
Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem Container in Bezug auf eMode. | |
virtual int | get (glo::ObjID &rObjID, TOndemand< T > &rRetVal, EnSeekMode eMode) |
Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem Container in Bezug auf eMode. | |
![]() | |
OndemandList () | |
OndemandList (Base &rBase) | |
virtual | ~OndemandList () |
virtual int | appendOndemand (const Reference &rNewOndemand) |
virtual void | clear () |
virtual Reference * | getOndemand (EnSeekMode eMode) |
virtual int | getPersistent (BasePersistent *&prRetVal, const ObjID &rObjID) |
virtual int | insertOndemand (const Reference &rNewOndemand) |
virtual int | removeOndemand (const Reference &rOndemand) |
virtual int | setCurrentObject (const ObjID &rObjID) |
virtual int | setPosition (std::size_t nPosition) |
virtual std::size_t | size () const |
virtual bool | inLot (const ObjID &object) const |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const BasePersistent &object) const |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const std::shared_ptr< BasePersistent > object) const |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const Reference &object) const |
Siehe Beschreibung in Oberklasse. | |
![]() | |
OndemandLot () | |
OndemandLot (Base &rBase) | |
virtual | ~OndemandLot () |
virtual int | appendPers (BasePersistent *pNewObj) override |
virtual Base * | getBase () const override |
virtual int | getObjID (ObjID &rObjID, EnSeekMode eMode) override |
virtual int | getPers (BasePersistent *&prRetVal, EnSeekMode eMode) override |
virtual int | getPers (glo::ObjID &rObjID, BasePersistent *&prRetVal, EnSeekMode eMode) |
virtual int | getPers (glo::ObjID &rObjID, std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode) |
virtual int | getPers (std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode) override |
virtual int | insertOndemandBefore (const Reference &rNewOndemand, const Reference &rOndemand) |
virtual int | insertPers (BasePersistent *pNewObj) override |
virtual int | insertPers (std::shared_ptr< BasePersistent > spNewObj) override |
virtual int | insertPersBefore (BasePersistent *pNewObj, const BasePersistent *pObject) override |
std::list< Reference * > & | List () |
virtual int | removePers (BasePersistent *pObject) override |
virtual int | setBase (Base *pBase) override |
![]() | |
BaseLot () | |
virtual | ~BaseLot () |
virtual int | appendPers (std::shared_ptr< BasePersistent > spNewObj) |
virtual int | insertPersBefore (std::shared_ptr< BasePersistent > spNewObj, const std::shared_ptr< BasePersistent > spObject) |
virtual int | lock (const LockSpecification &rLockSpecification) |
virtual int | lock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) |
virtual int | removePers (std::shared_ptr< BasePersistent > spObject) |
virtual int | setWatch (const WatchSpecification &rWatchSpec) |
virtual int | setWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) |
virtual int | unlock (const LockSpecification &rLockSpecification) |
virtual int | unlock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) |
virtual int | unsetWatch (const WatchSpecification &rWatchSpec) |
virtual int | unsetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) |
![]() | |
AbstractBaseLot () | |
virtual | ~AbstractBaseLot () |
virtual int | getPersistent (std::shared_ptr< BasePersistent > &rRetVal, const ObjID &rObjID) |
virtual int | setCurrentObject (const BasePersistent &rObject) |
![]() | |
CallBack () | |
virtual | ~CallBack () |
virtual void | notify (NotifyNote &rNote) |
CallBack & | operator= (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. | |
Öffentliche, statische Methoden | |
static unsigned long | getStaticGloClassID () |
Private Methoden | |
TOndemandList (const TOndemandList &) | |
TOndemandList< T > & | operator= (const TOndemandList &) |
Weitere Geerbte Elemente | |
![]() | |
std::string | m_strDebugInfo |
![]() | |
int | lockObjID (const ObjID &rObjID) |
int | setWatchObjID (const ObjID &rObjID) |
int | takeOverBase (const BasePersistent *pObj) |
int | takeOverBase (const Reference *pRef) |
int | unlockObjID (const ObjID &rObjID) |
int | unsetWatchObjID (const ObjID &rObjID) |
![]() | |
CallBack (const CallBack &rT) | |
void | deinit () |
void | init () |
![]() | |
std::list< Reference * > | m_odRefList |
std::list< Reference * >::iterator | m_odRefListIterator |
unsigned long | m_ulDatabaseID |
![]() | |
unsigned long | m_ulClassID |
Eine typsichere Liste von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte).
Objekte können auch mehrfach und in der Reihenfolge wahlfrei eingefügt werden.
Im Gegensatz zu einer TPointerList (bei der die referenzierten Objekte automatisch 'mitgeladen' werden), ist die TOndemandList eine Liste von Referenzen; es werden die referenzierten Objekte also nicht mit dem referenzierenden Objekt aus der Datenbank geladen, sondern können bei Bedarf 'nachgeladen' werden
Sinnvoller Einsatz ist immer dann gegeben, wenn ein Objekt mehrere, nicht im jeden Fall notwendig im Speicher verfügbare, 'große' Objekte referenzieren soll.
Wenn Objekte einer Objektdatenbank mehrere Objekte in einer anderen Objektdatenbank referenzieren sollen, ist dieses nur mit glo::TOndemandList bzw. glo::TOndemandSet möglich .
glo::TOndemandList< T >::TOndemandList | ( | ) |
Standard-Konstruktor.
Benutzt glo::CallBack::m_strDebugInfo und SUPER.
Wird benutzt von TOndemandList() und operator=().
glo::TOndemandList< T >::TOndemandList | ( | Base & | rBase | ) |
Konstruktor mit Parameterübergabe.
[in] | rBase | Es wird die Datenbank mitgegeben. |
Benutzt glo::CallBack::m_strDebugInfo und SUPER.
|
virtual |
Destruktor, es wird für alle Objekte in der Objekt-Liste der eigene Sperr- und Überwachungsmodus aufgehoben und dann die Objekt-Liste geleert.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
Benutzt TOndemandList().
|
virtual |
Fügt ein persistentes Objekt an das Ende der Liste ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
virtual |
Fügt ein persistentes Objekt an das Ende der Liste ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
virtual |
Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem Container in Bezug auf eMode.
Dadurch ist auch eine Iteration über nicht lesbare Objekte möglich (es wird dann lediglich die Objekt-ID zurückgegeben).
[in,out] | rObjID | Die Objekt-ID. |
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt in einem std::shared_ptr. |
[in] | eMode | Der Suchmodus. |
Benutzt get().
|
virtual |
Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem Container in Bezug auf eMode. Dadurch ist auch eine Iteration über nicht lesbare Objekte möglich (es wird dann lediglich die Objekt-ID zurückgegeben).
[in,out] | rObjID | Die Objekt-ID. |
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
|
virtual |
Liefert eine Objekt-ID und wenn möglich ein Objekt aus dem Container in Bezug auf eMode.
Dadurch ist auch eine Iteration über nicht lesbare Objekte möglich (es wird dann lediglich die Objekt-ID zurückgegeben).
[in,out] | rObjID | Die Objekt-ID. |
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt in einem std::shared_ptr. |
[in] | eMode | Der Suchmodus. |
Benutzt get() und glo::TOndemand< T >::set().
|
virtual |
Liefert ein Objekt mit übergebener Objekt-ID aus dem Container.
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | rObjID | Die Objekt-ID. |
Benutzt get().
|
virtual |
Liefert ein Objekt aus der Liste in Bezug auf eMode.
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
Benutzt get().
|
virtual |
Liefert ein Objekt mit übergebener Objekt-ID aus dem Container.
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | rObjID | Die Objekt-ID. |
|
virtual |
Liefert ein Objekt aus der Liste in Bezug auf eMode.
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
|
virtual |
Liefert ein Objekt aus der Liste in Bezug auf eMode.
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
Benutzt get() und glo::TOndemand< T >::set().
|
inlinestatic |
Gibt die Klassen-ID des Templates zurück.
|
overridevirtual |
Liefert den Typ der Template-Liste, also den Klassennamen als String, wenn mit der Datenbank verbunden.
[in,out] | rsTypeName | Die Typbezeichnung. |
Erneute Implementation von glo::BaseLot.
|
virtual |
Fügt das übergebene persistentes Objekt in die Liste hinter der aktuellen Position ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
virtual |
Fügt das übergebene persistentes Objekt in die Liste hinter der aktuellen Position ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
virtual |
Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
[in] | Object | Das nachfolgende persistente Objekt. |
|
virtual |
Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein.
Wenn die Liste gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus der Liste gesperrt.
Wenn die Liste überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus der Liste mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
[in] | Object | Das nachfolgende persistente Objekt. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
Benutzt TOndemandList().
|
virtual |
Entfernt das übergebene persistentes Objekt aus der Liste.
Wenn die Liste gesperrt ist, wird das zu entfernende Objekt mit den Sperrmodus der Liste freigegeben.
Wenn die Liste überwacht wird, wird die Überwachung des zu entfernende Objekts mit dem Überwachungsmodus der Liste beendet.
[in] | Object | Das zu entfernende persistente Objekt. |
|
virtual |
Entfernt das übergebene persistentes Objekt aus der Liste.
Wenn die Liste gesperrt ist, wird das zu entfernende Objekt mit den Sperrmodus der Liste freigegeben.
Wenn die Liste überwacht wird, wird die Überwachung des zu entfernende Objekts mit dem Überwachungsmodus der Liste beendet.
[in] | Object | Das zu entfernende persistente Objekt. |