GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::TPointerList< T > Template-Klassenreferenz

Eine typsichere Liste von Zeigern auf persistente Objekte in der Datenbank (gedacht als Attribut für persistente Objekte). Mehr ...

#include <GloTPointerList.h>

Klassendiagramm für glo::TPointerList< T >:

Öffentliche Methoden

 TPointerList ()
 
 TPointerList (Base &rBase)
 
virtual ~TPointerList ()
 
virtual int append (std::shared_ptr< T > spNewObj)
 
virtual int append (T *pNewObj)
 
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 insertBefore (std::shared_ptr< T > spNewObj, const std::shared_ptr< T > spObject)
 
virtual int insertBefore (T *pNewObj, const T *pObject)
 
virtual int remove (std::shared_ptr< T > spObject)
 
virtual int remove (T *pObject)
 
- Öffentliche Methoden geerbt von glo::PointerList
 PointerList ()
 
 PointerList (Base &rBase)
 
virtual ~PointerList ()
 
virtual int appendPers (BasePersistent *pNewObj)
 
virtual void clear ()
 
virtual int getPers (BasePersistent *&prRetVal, EnSeekMode eMode)
 
virtual int getPersistent (BasePersistent *&prRetVal, const ObjID &rObjID)
 
virtual int insertPers (BasePersistent *pNewObj)
 
std::list< BasePersistent * > & List ()
 
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 void getAllClassIDs (std::list< ObjID > &rAllClassIDs) const
 Siehe Beschreibung in Oberklasse.
 
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.
 
- Öffentliche Methoden geerbt von glo::PointerLot
 PointerLot ()
 
 PointerLot (Base &rBase)
 
virtual ~PointerLot ()
 
virtual int getObjID (ObjID &rObjID, EnSeekMode eMode)
 
virtual int insertPersBefore (BasePersistent *pNewObj, const BasePersistent *pObject)
 
- Ö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 insertPers (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)
 
- Ö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.
 

Private Methoden

 TPointerList (const TPointerList &)
 
TPointerList< T > & operator= (const TPointerList &)
 

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)
 
- Geschützte Attribute geerbt von glo::BaseLot
unsigned long m_ulClassID
 

Ausführliche Beschreibung

template<class T>
class glo::TPointerList< T >

Eine typsichere Liste von Zeigern 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.

Wenn ein persistentes Objekt mit einem Attribut vom Typ TPointerList aus der Datenbank in den Speicher geladen wird, werden die in dem TPointerList enthaltenen Objekt 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.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ TPointerList() [1/3]

template<class T >
glo::TPointerList< T >::TPointerList ( )

Standard-Konstruktor.

◆ TPointerList() [2/3]

template<class T >
glo::TPointerList< T >::TPointerList ( Base & rBase)

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs wird die Datenbank mitgegeben.

◆ ~TPointerList()

template<class T >
glo::TPointerList< T >::~TPointerList ( )
virtual

Destruktor, es wird für alle Objekte im Objekt-Set der eigene Sperr- und Überwachungsmodus aufgehoben und dann der Objekt-Set geleert.

Siehe auch
clear()

◆ TPointerList() [3/3]

template<class T >
glo::TPointerList< T >::TPointerList ( const TPointerList< T > & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Dokumentation der Elementfunktionen

◆ append() [1/2]

template<class T >
int glo::TPointerList< T >::append ( std::shared_ptr< T > spNewObj)
virtual

Fügt ein persistentes Objekt an das Ende der Liste ein.

Wenn die Listet 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.

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_poObjListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

◆ append() [2/2]

template<class T >
int glo::TPointerList< T >::append ( T * pNewObj)
virtual

Fügt ein persistentes Objekt an das Ende der Liste ein.

Wenn die Listet 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.

Parameter
[in]pNewObjDas einzufügende persistente Objekt. Wenn kein Fehler, wird der Linkcounter von pNewObj inkrementiert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_poObjListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

◆ get() [1/2]

template<class T >
int glo::TPointerList< T >::get ( std::shared_ptr< T > & rRetVal,
EnSeekMode eMode )
virtual

Liefert ein Objekt aus der Liste in Bezug auf eMode.

Parameter
[in,out]rRetValBei keinem Fehler das geholte Objekt in einem std::shared_ptr.
[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.

◆ get() [2/2]

template<class T >
int glo::TPointerList< T >::get ( T *& prRetVal,
EnSeekMode eMode )
virtual

Liefert ein Objekt aus der Liste 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.

◆ getTypeAsString()

template<class T >
int glo::TPointerList< T >::getTypeAsString ( std::string & rsTypeName)
overridevirtual

Liefert den Typ der Template-Liste, also den Klassennamen als String, wenn mit der Datenbank verbunden.

Parameter
[in,out]rsTypeNameDie Typbezeichnung.
Rückgabe
Wenn Rückgabewert < 0, ist ein Fehler aufgetreten.

Erneute Implementation von glo::BaseLot.

◆ insert() [1/2]

template<class T >
int glo::TPointerList< T >::insert ( std::shared_ptr< T > spNewObj)
virtual

Fügt das übergebene persistentes Objekt in der Liste hinter der aktuellen Position ein.

Wenn die Listet 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.

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_poObjListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

◆ insert() [2/2]

template<class T >
int glo::TPointerList< T >::insert ( T * pNewObj)
virtual

Fügt das übergebene persistentes Objekt in der Liste hinter der aktuellen Position ein.

Wenn die Listet 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.

Parameter
[in]pNewObjDas einzufügende persistente Objekt. Wenn kein Fehler, wird der Linkcounter von pNewObj inkrementiert.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_poObjListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

◆ insertBefore() [1/2]

template<class T >
int glo::TPointerList< T >::insertBefore ( std::shared_ptr< T > spNewObj,
const std::shared_ptr< T > spObject )
virtual

Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein.

Wenn die Listet 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.

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

◆ insertBefore() [2/2]

template<class T >
int glo::TPointerList< T >::insertBefore ( T * pNewObj,
const T * pObject )
virtual

Fügt ein persistentes Objekt vor einem anderen Objekt in die Liste ein.

Wenn die Listet 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.

Parameter
[in]pNewObjDas einzufügende persistente Objekt. Wenn kein Fehler, wird der Linkcounter von pNewObj inkrementiert.
[in]pObjectDas nachfolgende persistente Objekt.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Der interene Iterator m_poObjListIterator zeigt bei erfolgreichen Einfügen auf das eingefügte Element.

◆ operator=()

template<class T >
TPointerList< T > & glo::TPointerList< T >::operator= ( const TPointerList< T > & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.

◆ remove() [1/2]

template<class T >
int glo::TPointerList< T >::remove ( std::shared_ptr< T > spObject)
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.

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

◆ remove() [2/2]

template<class T >
int glo::TPointerList< T >::remove ( T * pObject)
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.

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

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