Ein typsicherer Set von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte).
Objekte können nur einmalig eingefügt werden.
Mehr ...
#include <GloTOndemandSet.h>
Öffentliche Methoden | |
TOndemandSet () | |
TOndemandSet (Base &rBase) | |
virtual | ~TOndemandSet () |
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 im Set ein. | |
virtual int | insert (std::shared_ptr< T > NewObj) |
Fügt das übergebene persistentes Objekt im Set ein. | |
virtual int | remove (T *Object) |
Entfernt das übergebene persistentes Objekt aus dem Set. | |
virtual int | remove (std::shared_ptr< T > Object) |
Entfernt das übergebene persistentes Objekt aus dem Set. | |
virtual int | get (std::shared_ptr< T > &rRetVal, EnSeekMode eMode) |
Liefert ein Objekt aus dem Set in Bezug auf eMode. | |
virtual int | get (TOndemand< T > &rRetVal, EnSeekMode eMode) |
Liefert ein Objekt aus dem Set 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. | |
![]() | |
OndemandSet () | |
OndemandSet (Base &rBase) | |
virtual | ~OndemandSet () |
virtual void | clear () |
virtual Reference * | getOndemand (EnSeekMode eMode) |
virtual int | getPersistent (BasePersistent *&prRetVal, const ObjID &rObjID) |
virtual int | insertOndemand (const Reference &rNewOndemand) |
virtual int | insertPers (BasePersistent *pNewObj) |
virtual int | insertPers (std::shared_ptr< BasePersistent > spNewObj) |
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 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 |
std::list< Reference * > & | List () |
virtual int | removePers (BasePersistent *pObject) override |
virtual int | setBase (Base *pBase) override |
![]() | |
BaseLot () | |
virtual | ~BaseLot () |
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 | |
TOndemandSet (const TOndemandSet &) | |
TOndemandSet< T > & | operator= (const TOndemandSet &) |
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 |
Ein typsicherer Set von Referenzen auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte).
Objekte können nur einmalig eingefügt werden.
Im Gegensatz zu einem TPointerSet (bei dem die referenzierten Objekte automatisch 'mitgeladen' werden), ist der TOndemandSet ein Set 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::TOndemandSet< T >::TOndemandSet | ( | ) |
Standard-Konstruktor.
Benutzt glo::CallBack::m_strDebugInfo und SUPER.
Wird benutzt von TOndemandSet() und operator=().
glo::TOndemandSet< T >::TOndemandSet | ( | 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 im Objekt-Set der eigene Sperr- und Überwachungsmodus aufgehoben und dann der Objekt-Set geleert.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
Benutzt TOndemandSet().
|
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 dem Set in Bezug auf eMode.
[in,out] | rRetVal | Bei keinem Fehler das geholte Objekt in einem std::shared_ptr. |
[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 dem Set in Bezug auf eMode.
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
|
virtual |
Liefert ein Objekt aus dem Set in Bezug auf eMode.
[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().
|
inlinestatic |
Gibt die Klassen-ID des Templates zurück.
|
overridevirtual |
Liefert den Typ des Template-Sets, 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 im Set ein.
Wenn der Set gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Sets gesperrt.
Wenn der Set überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Sets mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
virtual |
Fügt das übergebene persistentes Objekt im Set ein.
Wenn der Set gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Sets gesperrt.
Wenn der Set überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Sets mitüberwacht.
[in] | NewObj | Das einzufügende persistente Objekt. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
Benutzt TOndemandSet().
|
virtual |
Entfernt das übergebene persistentes Objekt aus dem Set.
Wenn der Set gesperrt ist, wird das zu entfernende Objekt mit den Sperrmodus des Sets freigegeben.
Wenn der Set überwacht wird, wird die Überwachung des zu entfernende Objekts mit dem Überwachungsmodus des Sets beendet.
[in] | Object | Das zu entfernende persistente Objekt. |
|
virtual |
Entfernt das übergebene persistentes Objekt aus dem Set.
Wenn der Set gesperrt ist, wird das zu entfernende Objekt mit den Sperrmodus des Sets freigegeben.
Wenn der Set überwacht wird, wird die Überwachung des zu entfernende Objekts mit dem Überwachungsmodus des Sets beendet.
[in] | Object | Das zu entfernende persistente Objekt. |