Ein typsicherer Set von Zeigern auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte).
Objekte können nur einmalig eingefügt werden.
Mehr ...
#include <GloTPointerSet.h>
Öffentliche Methoden | |
TPointerSet () | |
TPointerSet (Base &rBase) | |
virtual | ~TPointerSet () |
virtual int | get (std::shared_ptr< T > &rRetVal, EnSeekMode eMode) |
virtual int | get (T *&prRetVal, EnSeekMode eMode) |
virtual int | getTypeAsString (std::string &rsTypeName) override |
virtual int | insert (std::shared_ptr< T > spNewObj) |
virtual int | insert (T *pNewObj) |
virtual int | remove (std::shared_ptr< T > spObject) |
virtual int | remove (T *pObject) |
![]() | |
PointerSet () | |
PointerSet (Base &rBase) | |
virtual | ~PointerSet () |
virtual void | clear () override |
virtual int | getPers (BasePersistent *&prRetVal, EnSeekMode eMode) override |
virtual int | getPersistent (BasePersistent *&prRetVal, const ObjID &rObjID) override |
virtual int | insertPers (BasePersistent *pNewObj) override |
virtual int | removePers (BasePersistent *pObject) override |
std::set< BasePersistent * > & | Set () |
virtual int | setCurrentObject (const ObjID &rObjID) override |
virtual int | setPosition (std::size_t nPosition) override |
virtual std::size_t | size () const override |
virtual void | getAllClassIDs (std::list< ObjID > &rAllClassIDs) const |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const ObjID &object) const override |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const BasePersistent &object) const override |
Siehe Beschreibung in Oberklasse. | |
virtual bool | inLot (const std::shared_ptr< BasePersistent > object) const override |
Siehe Beschreibung in Oberklasse. | |
![]() | |
PointerLot () | |
PointerLot (Base &rBase) | |
virtual | ~PointerLot () |
virtual Base * | getBase () const override |
virtual int | getObjID (ObjID &rObjID, EnSeekMode eMode) override |
virtual int | setBase (Base *pBase) override |
![]() | |
BaseLot () | |
virtual | ~BaseLot () |
virtual int | getPers (std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode) |
virtual int | insertPers (std::shared_ptr< BasePersistent > spNewObj) |
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 | |
TPointerSet (const TPointerSet &) | |
TPointerSet< T > & | operator= (const TPointerSet &) |
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 () |
![]() | |
unsigned long | m_ulClassID |
Ein typsicherer Set von Zeigern auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte).
Objekte können nur einmalig eingefügt werden.
Wenn ein persistentes Objekt mit einem Attribut vom Typ TPointerSet aus der Datenbank in den Speicher geladen wird, werden die in dem TPointerSet enthaltenen Objekt automatisch auch in den Speicher geladen.
Diese Klasse stellt sicher, dass bei den enthaltenen Objekten beim Zerstören des Objekts jeweils die Methode Persistent::forget() der enthaltenen Objekte aufgerufen wird.
Beim Liefern eines Objektes wird jeweils die Methode Persistent::remember() aufgerufen.
glo::TPointerSet< T >::TPointerSet | ( | ) |
Standard-Konstruktor.
Benutzt glo::CallBack::m_strDebugInfo und SUPER.
Wird benutzt von TPointerSet() und operator=().
glo::TPointerSet< T >::TPointerSet | ( | 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 TPointerSet().
|
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. |
Parameterbeispiele:
Benutzt get().
|
virtual |
Liefert ein Objekt aus dem Set in Bezug auf eMode.
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
Parameterbeispiele:
Wird benutzt von get().
|
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] | spNewObj | Das einzufügende persistente Objekt in einem std::shared_ptr. |
|
virtual |
Fügt das übergebene persistentes Objekt im Set hinter 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] | pNewObj | Das einzufügende persistente Objekt. Wenn kein Fehler, wird der Linkcounter von pNewObj inkrementiert. |
|
private |
Der Zuweisungsoperator steht nicht zur Verfügung.
Benutzt TPointerSet().
|
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] | spObject | Das zu entfernende persistente Objekt in einem std::shared_ptr. |
|
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] | pObject | Das zu entfernende persistente Objekt. Es wird der Linkcounter von pObj dekrementiert, wenn im Set. |