GlobalObjects
|
Ist die Basisklasse von Pointer- und Ondemand-Sets bzw. Pointer- und Ondemand-Listen. Mehr ...
#include <GloBaseLot.h>
Öffentliche Methoden | |
BaseLot () | |
virtual | ~BaseLot () |
virtual int | appendPers (BasePersistent *pNewObj) |
virtual int | appendPers (std::shared_ptr< BasePersistent > spNewObj) |
virtual void | clear ()=0 |
virtual Base * | getBase () const override=0 |
virtual int | getObjID (ObjID &rObjID, EnSeekMode eMode)=0 |
virtual int | getPers (BasePersistent *&prRetVal, EnSeekMode eMode)=0 |
virtual int | getPers (std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode) |
virtual int | getTypeAsString (std::string &rsTypeName) override |
virtual bool | inLot (const BasePersistent &rObject) const |
virtual bool | inLot (const ObjID &rObjID) const override=0 |
virtual bool | inLot (const std::shared_ptr< BasePersistent > spObject) const |
virtual int | insertPers (BasePersistent *pNewObj) |
virtual int | insertPers (std::shared_ptr< BasePersistent > spNewObj) |
virtual int | insertPersBefore (BasePersistent *pNewObj, const BasePersistent *pObject) |
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 (BasePersistent *pObject)=0 |
virtual int | removePers (std::shared_ptr< BasePersistent > spObject) |
virtual int | setBase (Base *pBase) override=0 |
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) |
Ö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) |
virtual int | setCurrentObject (const ObjID &rObjID)=0 |
virtual int | setPosition (std::size_t nPosition)=0 |
virtual std::size_t | size () const =0 |
Öffentliche Methoden geerbt von glo::CallBack | |
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. | |
Geschützte Methoden | |
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) |
Geschützte Methoden geerbt von glo::CallBack | |
CallBack (const CallBack &rT) | |
void | deinit () |
void | init () |
Geschützte Attribute | |
unsigned long | m_ulClassID |
Private Methoden | |
BaseLot (const BaseLot &) | |
BaseLot & | operator= (const BaseLot &) |
Private Attribute | |
std::shared_ptr< LockSpecification > | m_spLockSpecification |
std::shared_ptr< WatchSpecification > | m_spWatchSpecification |
Weitere Geerbte Elemente | |
Öffentliche Attribute geerbt von glo::CallBack | |
std::string | m_strDebugInfo |
Ist die Basisklasse von Pointer- und Ondemand-Sets bzw. Pointer- und Ondemand-Listen.
glo::BaseLot::BaseLot | ( | ) |
Standard-Konstruktor.
|
virtual |
Destruktor.
|
private |
Der Copy-Konstruktor steht nicht zur Verfügung.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt an das Ende des Kontainers ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | pNewObj | Das einzufügende persistente Objekt. |
Erneute Implementation in glo::OndemandLot, glo::OndemandSet, glo::PointerList und glo::PointerSet.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt an das Ende des Kontainers ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | spNewObj | Das einzufügende persistente Objekt in einem std::shared_ptr. |
Erneute Implementation in glo::OndemandSet und glo::PointerSet.
|
pure virtual |
Es werden alle Objekte aus dem Kontainer entfernt. Es wird für alle Objekte im Kontainer der eigene Sperr- und Überwachungsmodus aufgehoben.
Implementiert in glo::OndemandList, glo::OndemandLot, glo::OndemandSet, glo::PointerList und glo::PointerSet.
|
overridepure virtual |
Erneute Implementation von glo::CallBack.
Implementiert in glo::OndemandLot und glo::PointerLot.
|
pure virtual |
Liefert in Unterklassen eine Objekt-ID in rObjID aus dem Kontainer in Bezug auf eMode.
[in,out] | rObjID | Die Objekt-ID wenn gefunden. |
[in] | eMode | Der Suchmodus |
Parameterbeispiele:
Implementiert in glo::OndemandLot und glo::PointerLot.
|
pure virtual |
Liefert ein Objekt aus dem Kontainer in Bezug auf eMode.
[in,out] | prRetVal | Bei keinem Fehler das geholte Objekt. |
[in] | eMode | Der Suchmodus. |
Parameterbeispiele:
Implementiert in glo::OndemandLot, glo::PointerList, glo::PointerLot und glo::PointerSet.
|
virtual |
Liefert ein Objekt aus dem Kontainer der Datenbank in Bezug auf eMode.
[in,out] | rRetVal | Bei keinem Fehler ist das geholte Objekt in einem std::shared_ptr. |
[in] | eMode | Der Suchmodus. |
Parameterbeispiele:
Erneute Implementation in glo::OndemandLot.
|
overridevirtual |
Liefert die Klassenbezeichnung, wenn mit der Datenbank verbunden.
[in,out] | rsTypeName | Die Typbezeichnung. |
Erneute Implementation von glo::CallBack.
Erneute Implementation in glo::TOndemandList< T >, glo::TOndemandSet< T >, glo::TPointerList< T > und glo::TPointerSet< T >.
|
virtual |
Prüft in Unterklassen, ob übergebenes Objekt im Kontainer ist.
[in] | rObject | Das gesuchte Objekt. |
Erneute Implementation in glo::OndemandList, glo::OndemandLot, glo::OndemandSet, glo::PointerList, glo::PointerLot und glo::PointerSet.
|
overridepure virtual |
Siehe Beschreibung in Oberklasse.
Implementiert glo::AbstractBaseLot.
Implementiert in glo::OndemandList, glo::OndemandLot, glo::OndemandSet, glo::PointerList, glo::PointerLot und glo::PointerSet.
|
virtual |
Prüft, ob übergebens Objekt im Kontainer ist.
[in] | spObject | Das gesuchte Objekt in einem std::shared_ptr. |
Erneute Implementation in glo::OndemandList, glo::OndemandLot, glo::OndemandSet, glo::PointerList, glo::PointerLot und glo::PointerSet.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt in den Kontainer hinter der aktuellen Position ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | pNewObj | Das einzufügende persistente Objekt. |
Erneute Implementation in glo::OndemandLot, glo::OndemandSet, glo::PointerList und glo::PointerSet.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt in den Kontainer hinter der aktuellen Position ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | spNewObj | Das einzufügende persistente Objekt in einem std::shared_ptr. |
Erneute Implementation in glo::OndemandLot und glo::OndemandSet.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt vor einem anderen Objekt in den Kontainer ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | pNewObj | Das einzufügende persistente Objekt. |
[in] | pObject | Das nachfolgende persistente Objekt. |
Erneute Implementation in glo::OndemandLot, glo::OndemandSet, glo::PointerLot und glo::PointerSet.
|
virtual |
Fügt in den Unterklassen ein persistentes Objekt vor einem anderen Objekt in den Kontainer ein. Hier wird nur die Datenbank gesetzt, bzw. wenn schon gesetzt, überprüft.
[in] | spNewObj | Das einzufügende persistente Objekt in einem std::shared_ptr. |
[in] | spObject | Das nachfolgende persistente Objekt in einem std::shared_ptr. |
Erneute Implementation in glo::OndemandSet und glo::PointerSet.
|
virtual |
Objekte im Kontainer werden in der Datenbank für andere Clients gesperrt (alle oder keins).
[in] | rLockSpecification | Der Sperr- und Sperrtiefenmodus. |
|
virtual |
Objekte im Kontainer werden in der Datenbank für andere Clients gesperrt (alle oder keins).
[in] | eLockMode | Der Sperrmodus. |
[in] | eDeepMode | Der Sperrtiefenmodus. |
|
protected |
Sperrt das Objekt mit übergebener Objekt-ID in der Datenbank mit dem Sperrmodus des Sets.
[in] | rObjID | Die Objekt-ID des zu sperrenden Objekts. |
Der Zuweisungsoperator steht nicht zur Verfügung.
|
pure virtual |
Entfernt in Unterklassen übergebenes persistentes Objekt aus dem Kontainer.
[in] | pObject | Das zu entfernende persistente Objekt. |
Implementiert in glo::OndemandLot, glo::PointerList, glo::PointerLot und glo::PointerSet.
|
virtual |
Entfernt persistentes Objekt in Unterklassen aus dem Kontainer.
[in] | spObject | Das einzufügende persistente Objekt in einem std::shared_ptr. |
|
overridepure virtual |
Setzt die Datenbank in der die Objekte des Containers gespeichert sind. Sollte schon eine Datenbank referenziert werden und diese stimmt nicht mit der übergebenen Datenbank überein, wird eine eut::ErrorNException geworfen.
[in] | pBase | Die Datenbank. |
Erneute Implementation von glo::CallBack.
Implementiert in glo::OndemandLot und glo::PointerLot.
|
virtual |
Die Objekte im Kontainer werden in der Datenbank überwacht.
[in] | rWatchSpec | Die Überwachungsspezifikation. |
|
virtual |
Die Objekte im Kontainer werden in der Datenbank überwacht.
[in] | ulWatchMode | Der Überwachungsmodus. Erlaubte Überwachungsmodi:
|
[in] | eDeepMode | Der Überwachungstiefenmodus. |
[in] | pCallBack | Das 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. |
|
protected |
Initiiert eine Überwachung des Objekts mit übergebener Objekt-ID in der Datenbank mit dem Überwachungsmodus des Sets.
[in] | rObjID | Die Objekt-ID des zu überwachenden Objekts. |
|
protected |
Übernimmt die Datenbank vom übergebenen persistenten Objekt.
[in] | pObj | Das Objekt dessen Datenbank übernommen wird. |
|
protected |
Übernimmt die Datenbank von übergebener Refernz auf ein persistentes Objekt.
[in] | pRef | Die Refernz dessen Datenbank übernommen wird. |
|
virtual |
Objekte im Kontainer werden in der Datenbank freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie der vorherige Sperraufruf aufgerufen werden.
[in] | rLockSpecification | Der ursprüngliche Sperr- und Sperrtiefenmodus. |
|
virtual |
Objekte im Kontainer werden in der Datenbank freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie der vorherige Sperraufruf aufgerufen werden.
[in] | eLockMode | Der ursprüngliche Sperrmodus. |
[in] | eDeepMode | Der ursprüngliche Sperrtiefenmodus. |
|
protected |
Entsperrt das Objekt mit übergebener Objekt-ID in der Datenbank mit dem Sperrmodus des Sets.
[in] | rObjID | Die Objekt-ID des zu entsperrenden Objekts. |
|
virtual |
Die Überwachung der Objekte im Kontainer wird in der Datenbank beendet. Eine Überwachungsbeendigung muss mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.
[in] | rWatchSpec | Die ursprüngliche Überwachungsspezifikation. |
|
virtual |
Die Überwachung der Objekte im Kontainer wird in der Datenbank beendet. Eine Überwachungsbeendigung muss mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.
[in] | ulWatchMode | Der Überwachungsmodus. Erlaubte Überwachungsmodi:
|
[in] | eDeepMode | Der Überwachungstiefenmodus. |
[in] | pCallBack | Das 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. |
|
protected |
Die Überwachung des Objekts mit übergebener Objekt-ID wird in der Datenbank beendet.
[in] | rObjID | Die Objekt-ID des Objekts, dessen Überwachung bendet wird. |
|
private |
Für einen Kontainer von persistenten Objekten darf es nur eine Sperre geben.
Wird gebraucht um neu eingefügte Objekte mit dieser Sperre auch zu sperren bzw. wieder freizugeben.
|
private |
Für einen Kontainer von persistenten Objekten darf es nur eine Überwachung geben.
Wird gebraucht um neu eingefügte Objekte mit diesem Überwachungsmoduse auch überwachenen zu lassen bzw. deren Überwachung aufzuheben.
|
protected |
Ein Kontainer von persistenten Objekten gilt nur für eine Klasse und ggf. für deren Unterklassen. Hier also die Klassen-ID.