GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::OndemandLot Klassenreferenzabstract

Ist die abstrakte Basisklasse von Ondemand-Sets und -Listen. Mehr ...

#include <GloOndemandLot.h>

Klassendiagramm für glo::OndemandLot:

Öffentliche Methoden

 OndemandLot ()
 
 OndemandLot (Base &rBase)
 
virtual ~OndemandLot ()
 
virtual int appendOndemand (const Reference &rNewOndemand)
 
virtual int appendPers (BasePersistent *pNewObj)
 
virtual void clear ()
 
virtual int getObjID (ObjID &rObjID, EnSeekMode eMode)
 
virtual ReferencegetOndemand (EnSeekMode eMode)=0
 
virtual int getPers (BasePersistent *&prRetVal, EnSeekMode eMode)
 
virtual int getPersistent (BasePersistent *&prRetVal, const ObjID &rObjID)
 
virtual int insertOndemand (const Reference &rNewOndemand)
 
virtual int insertOndemandBefore (const Reference &rNewOndemand, const Reference &rOndemand)
 
virtual int insertPers (BasePersistent *pNewObj)
 
virtual int insertPers (std::shared_ptr< BasePersistent > spNewObj)
 
virtual int insertPersBefore (BasePersistent *pNewObj, const BasePersistent *pObject)
 
std::list< Reference * > & List ()
 
virtual int removeOndemand (const Reference &rOndemand)
 
virtual int removePers (BasePersistent *pObject)
 
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
 Prüft, ob übergebenes Objekt im Container referenziert wird.
 
virtual bool inLot (const BasePersistent &object) const
 Prüft, ob übergebenes Objekt im Container referenziert wird.
 
virtual bool inLot (const std::shared_ptr< BasePersistent > object) const
 Prüft, ob übergebenes Objekt im Container referenziert wird.
 
virtual bool inLot (const Reference &object) const
 Prüft, ob übergebenes Objekt im Container referenziert wird.
 
- Öffentliche Methoden geerbt von glo::BaseLot
 BaseLot ()
 
 BaseLot (Base &rBase)
 
virtual ~BaseLot ()
 
virtual int appendPers (std::shared_ptr< BasePersistent > spNewObj)
 
virtual int getPers (std::shared_ptr< BasePersistent > &rRetVal, EnSeekMode eMode)
 
virtual int getTypeAsString (std::string &rsTypeName) override
 
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)
 
- Öffentliche Methoden geerbt von glo::AbstractBaseLot
 AbstractBaseLot ()
 
virtual ~AbstractBaseLot ()
 
virtual int getPersistent (std::shared_ptr< BasePersistent > &rRetVal, const ObjID &rObjID)
 
virtual int setCurrentObject (const BasePersistent &rObject)
 
- Öffentliche Methoden geerbt von glo::CallBack
 CallBack ()
 
 CallBack (Base &rBase)
 
virtual ~CallBack ()
 
BasegetBase () const
 
virtual void notify (NotifyNote &rNote)
 
CallBackoperator= (const CallBack &rT)
 
virtual void setBase (Base *pBase)
 
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 Attribute

std::list< Reference * > m_odRefList
 
std::list< Reference * >::iterator m_odRefListIterator
 
- Geschützte Attribute geerbt von glo::BaseLot
unsigned long m_ulClassID
 

Private Methoden

 OndemandLot (const OndemandLot &)
 
OndemandLotoperator= (const OndemandLot &)
 

Weitere Geerbte Elemente

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

Ausführliche Beschreibung

Ist die abstrakte Basisklasse von Ondemand-Sets und -Listen.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ OndemandLot() [1/3]

glo::OndemandLot::OndemandLot ( )

Standard-Konstruktor.

◆ OndemandLot() [2/3]

glo::OndemandLot::OndemandLot ( Base & rBase)

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die Datenbank mitgegeben.

◆ ~OndemandLot()

virtual glo::OndemandLot::~OndemandLot ( )
virtual

Destruktor.

◆ OndemandLot() [3/3]

glo::OndemandLot::OndemandLot ( const OndemandLot & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ appendOndemand()

virtual int glo::OndemandLot::appendOndemand ( const Reference & rNewOndemand)
virtual

Fügt eine Referenz auf ein persistentes Objekt am Ende des Kontainers ein.

Wenn der Kontainer gesperrt ist, wird das referenzierte Objekt der einzufügenden Referenz auf dieses mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird das referenzierte Objekt der einzufügenden Referenz auf dieses mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]rNewOndemandDie einzufügende Referenz auf ein persistentes Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation in glo::OndemandSet und glo::OndemandList.

◆ appendPers()

virtual int glo::OndemandLot::appendPers ( BasePersistent * pNewObj)
virtual

Fügt ein persistentes Objekt an das Ende des Kontainers ein.

Wenn der Kontainer gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]pNewObjDas einzufügende persistente Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandSet.

◆ clear()

virtual void glo::OndemandLot::clear ( )
virtual

Es werden alle Objekte aus der Liste entfernt. Es wird für alle Objekte in der Liste der listeneigene Sperr- und Überwachungsmodus aufgehoben.

Implementiert glo::BaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ getObjID()

virtual int glo::OndemandLot::getObjID ( ObjID & rObjID,
EnSeekMode eMode )
virtual

Liefert eine Objekt-ID in rObjID aus dem Kontainer in Bezug auf eMode.

Parameter
[in,out]rObjIDDie Objekt-ID wenn gefunden.
[in]eModeDer Suchmodus

Parameterbeispiele:

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == ERR_RANGE zeigt das Ende des Kontainers an.

Implementiert glo::BaseLot.

◆ getOndemand()

virtual Reference * glo::OndemandLot::getOndemand ( EnSeekMode eMode)
pure virtual

Liefert eine Reference in Bezug auf eMode.

Parameter
[in]eModeDer Suchmodus.

Parameterbeispiele:

Rückgabe
Wenn gefunden der Zeiger auf die gefundene Reference.
Achtung
Das gelieferte Objekt verbleibt in der Verantwortung des liefernden OndemandLot; darf ergo nicht aus dem Speicher entfernt werden.

Implementiert in glo::OndemandList und glo::OndemandSet.

◆ getPers()

virtual int glo::OndemandLot::getPers ( BasePersistent *& prRetVal,
EnSeekMode eMode )
virtual

Liefert ein Objekt aus dem Kontainer in Bezug auf eMode.

Parameter
[in,out]prRetValBei keinem Fehler das geholte Objekt.
[in]eModeDer Suchmodus.

Parameterbeispiele:

Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an. Eine Rückgabe == 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.

Implementiert glo::BaseLot.

◆ getPersistent()

virtual int glo::OndemandLot::getPersistent ( BasePersistent *& prRetVal,
const ObjID & rObjID )
virtual

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

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 mittels BasePersistent::forget() aus dem Speicher entfernt werden.

Implementiert glo::AbstractBaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ inLot() [1/4]

virtual bool glo::OndemandLot::inLot ( const BasePersistent & object) const
virtual

Prüft, ob übergebenes Objekt im Container referenziert wird.

Parameter
[in]objectDas zu prüfende Objekt.
Rückgabe
Wenn true, wird das übergebene Objekt im Container referenziert.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ inLot() [2/4]

virtual bool glo::OndemandLot::inLot ( const ObjID & object) const
virtual

Prüft, ob übergebenes Objekt im Container referenziert wird.

Parameter
[in]objectDas zu prüfende Objekt.
Rückgabe
Wenn true, wird das übergebene Objekt im Container referenziert.

Implementiert glo::BaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ inLot() [3/4]

virtual bool glo::OndemandLot::inLot ( const Reference & object) const
virtual

Prüft, ob übergebenes Objekt im Container referenziert wird.

Parameter
[in]objectDas zu prüfende Objekt.
Rückgabe
Wenn true, wird das übergebene Objekt im Container referenziert.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ inLot() [4/4]

virtual bool glo::OndemandLot::inLot ( const std::shared_ptr< BasePersistent > object) const
virtual

Prüft, ob übergebenes Objekt im Container referenziert wird.

Parameter
[in]objectDas zu prüfende Objekt.
Rückgabe
Wenn true, wird das übergebene Objekt im Container referenziert.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ insertOndemand()

virtual int glo::OndemandLot::insertOndemand ( const Reference & rNewOndemand)
virtual

Fügt eine Referenz auf ein persistentes Objekt in den Kontainer hinter der aktuellen Position ein.

Wenn der Kontainer gesperrt ist, wird das referenzierte Objekt der einzufügenden Referenz auf dieses mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird referenzierte Objekt der einzufügenden Referenz auf dieses mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]rNewOndemandDie einzufügende Referenz auf ein persistentes Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ insertOndemandBefore()

virtual int glo::OndemandLot::insertOndemandBefore ( const Reference & rNewOndemand,
const Reference & rOndemand )
virtual

Fügt eine Referenz auf ein persistentes Objekt vor einem anderen Objekt in den Kontainer ein.

Wenn der Kontainer gesperrt ist, wird das referenzierte Objekt der einzufügenden Referenz auf dieses mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird referenzierte Objekt der einzufügenden Referenz auf dieses mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]rNewOndemandDie einzufügende Referenz auf ein persistentes Objekt.
[in]rOndemandDie nachfolgende Referenz auf ein persistentes Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation in glo::OndemandSet.

◆ insertPers() [1/2]

virtual int glo::OndemandLot::insertPers ( BasePersistent * pNewObj)
virtual

Fügt ein persistentes Objekt in den Kontainer hinter der aktuellen Position ein.

Wenn der Kontainer gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]pNewObjDas einzufügende persistente Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandSet.

◆ insertPers() [2/2]

virtual int glo::OndemandLot::insertPers ( std::shared_ptr< BasePersistent > spNewObj)
virtual

Fügt ein persistentes Objekt in den Kontainer hinter der aktuellen Position ein.

Wenn der Kontainer gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]spNewObjDas einzufügende persistente Objekt in einem std::shared_ptr.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandSet.

◆ insertPersBefore()

virtual int glo::OndemandLot::insertPersBefore ( BasePersistent * pNewObj,
const BasePersistent * pObject )
virtual

Fügt ein persistentes Objekt vor einem anderen Objekt in den Kontainer ein.

Wenn der Kontainer gesperrt ist, wird das einzufügende Objekt mit den Sperrmodus des Kontainers gesperrt.

Wenn der Kontainer überwacht wird, wird das einzufügende Objekt mit den Überwachungsmodus des Kontainers mitüberwacht.

Parameter
[in]pNewObjDas einzufügende persistente Objekt.
[in]pObjectDas nachfolgende persistente Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

Erneute Implementation von glo::BaseLot.

Erneute Implementation in glo::OndemandSet.

◆ List()

std::list< Reference * > & glo::OndemandLot::List ( )

Liefert Referenz auf die interne Objektliste.

Achtung
Diese Möglichkeit des Zugriffs sollte sich nur darauf beschränken, mit einem anderen Iterator auf die Objekte zuzugreifen. Ein Hinzufügen oder Entfernen von Objekten kann undefiniertes Verhalten hervorrufen.

◆ operator=()

OndemandLot & glo::OndemandLot::operator= ( const OndemandLot & )
inlineprivate

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ removeOndemand()

virtual int glo::OndemandLot::removeOndemand ( const Reference & rOndemand)
virtual

Entfernt die übergebene Referenz auf ein persistentes Objekt aus dem Kontainer.

Wenn der Kontainer gesperrt ist, wird das referenzierte Objekt der zu entfernenden Referenz auf dieses mit den Sperrmodus des Kontainers freigegeben.

Wenn der Kontainer überwacht wird, wird die Überwachung des referenzierten Objekts der zu entfernenden Referenz auf dieses mit dem Überwachungsmodus des Kontainers beendet.

Parameter
[in]rOndemandDie zu entfernende Referenz auf ein persistentes Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Löschen auf das, dem entfernten nachfolgende Element. Wenn es kein nachfolgendes Element gibt, zeigt der interene Iterator m_odRefListIterator auf das Kontainerende.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ removePers()

virtual int glo::OndemandLot::removePers ( BasePersistent * pObject)
virtual

Entfernt das übergebene persistentes Objekt aus dem Kontainer.

Wenn der Kontainer gesperrt ist, wird das zu entfernende Objekt mit den Sperrmodus des Kontainers freigegeben.

Wenn der Kontainer überwacht wird, wird die Überwachung des zu entfernende Objekts mit dem Überwachungsmodus des Kontainers beendet.

Parameter
[in]pObjectDas zu entfernende persistente Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_odRefListIterator zeigt bei erfolgreichen Löschen auf das, dem entfernten nachfolgende Element. Wenn es kein nachfolgendes Element gibt, zeigt der interene Iterator m_odRefListIterator auf das Kontainerende.

Implementiert glo::BaseLot.

◆ setCurrentObject()

virtual int glo::OndemandLot::setCurrentObject ( const ObjID & rObjID)
virtual

Setzt den internen Iterator auf die erste Position der Referenz auf ein persistentes Objekt mit übergebener Objekt-ID.

Parameter
[in]rObjIDDie Objekt-ID.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

Implementiert glo::AbstractBaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ setPosition()

virtual int glo::OndemandLot::setPosition ( std::size_t nPosition)
virtual

Setzt den internen Iterator auf die übergebene Position.

Parameter
[in]nPositionDie zu setzende Position.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

Implementiert glo::AbstractBaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

◆ size()

virtual std::size_t glo::OndemandLot::size ( ) const
virtual

Liefert die Anzahl der Objekte in der Liste.

Rückgabe
Die Anzahl der Objekte in der Liste. Ein Rückgabewert < 0 zeigt einen Fehler an.

Implementiert glo::AbstractBaseLot.

Erneute Implementation in glo::OndemandList und glo::OndemandSet.

Dokumentation der Datenelemente

◆ m_odRefList

std::list<Reference *> glo::OndemandLot::m_odRefList
protected

Die Liste von Ondemand-Referenzen vom Typ Reference.

◆ m_odRefListIterator

std::list<Reference*>::iterator glo::OndemandLot::m_odRefListIterator
protected

Ein interner Iterator auf die Liste von Ondemand-Referenzen.


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