GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::Reference Klassenreferenz

Die Basisklasse eines Referenz-Attributs von persistenten Objekten auf andere persistente Objekte in der Datenbank. Mehr ...

#include <GloReference.h>

Klassendiagramm für glo::Reference:

Öffentliche Methoden

 Reference ()
 
 Reference (Base &rBase)
 
 Reference (const ObjID &rObjID)
 
 Reference (const ObjID &rObjID, Base &rBase)
 
 Reference (const Reference &rT)
 
virtual ~Reference ()
 
virtual int deleteInBase (EnDeepMode eDeepMode=DM_SHALLOW)
 
ObjID getObjID () const
 
const ObjIDgetObjIDAsPointer () const
 
int getReference (BasePersistent *&prRetVal) const
 
int getReference (std::shared_ptr< BasePersistent > &sprRetVal) const
 
virtual int getTypeAsString (std::string &rsTypeName) override
 
virtual int isLocked (const LockSpecification &rLockSpecification) const
 
virtual int isLocked (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
 
bool isNULL () const
 
virtual int isPossible (bool bRead, bool bWrite, bool bDelete, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int isPossible (const LockPossibleSpecification &rLockPossibleSpec, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int lock (const LockSpecification &rLockSpecification) const
 
virtual int lock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
 
Referenceoperator= (const Reference &rT)
 
void setNULL ()
 
int setReference (const BasePersistent &rObj)
 
int setReference (const BasePersistent *pObj)
 
virtual void setReference (const ObjID &rObjID)
 
virtual int setWatch (const WatchSpecification &rWatchSpec) const
 
virtual int setWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) const
 
virtual int unlock (const LockSpecification &rLockSpecification) const
 
virtual int unlock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const
 
virtual int unsetWatch (const WatchSpecification &rWatchSpec) const
 
virtual int unsetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const
 
bool operator== (const Reference &rT) const
 Vergleichsoperator.
 
bool operator!= (const Reference &rT) const
 Vergleichsoperator.
 
- Ö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 Attribute

ObjID m_RefObjID
 

Freundbeziehungen

class Base
 
class BaseAllSet
 
class ObjectMaker
 
class OdRefRecordAttribute
 
class OndemandList
 
class OndemandLot
 
class OndemandSet
 
class TableReaderInterface
 

Weitere Geerbte Elemente

- Öffentliche Attribute geerbt von glo::CallBack
std::string m_strDebugInfo
 
- Geschützte Methoden geerbt von glo::CallBack
 CallBack (const CallBack &rT)
 

Ausführliche Beschreibung

Die Basisklasse eines Referenz-Attributs von persistenten Objekten auf andere persistente Objekte in der Datenbank.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ Reference() [1/5]

glo::Reference::Reference ( )

Standard-Konstruktor.

◆ Reference() [2/5]

glo::Reference::Reference ( const ObjID & rObjID)

Konstruktor mit Parameterübergabe.

Parameter
[in]rObjIDEs kann schon bei der Erstellung die Objekt-ID des zu referenzierenden Objekts mitgegeben werden.

◆ Reference() [3/5]

glo::Reference::Reference ( Base & rBase)

Konstruktor mit Parameterübergabe.

Parameter
[in]rBaseEs kann schon bei der Erstellung die maßgebliche Datenbank mitgegeben werden.

◆ Reference() [4/5]

glo::Reference::Reference ( const ObjID & rObjID,
Base & rBase )

Konstruktor mit Parameterübergabe.

Parameter
[in]rObjIDEs kann schon bei der Erstellung die Objekt-ID des zu referenzierenden Objekts und...
[in]rBase...die maßgebliche Datenbank mitgegeben werden.

◆ Reference() [5/5]

glo::Reference::Reference ( const Reference & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ ~Reference()

virtual glo::Reference::~Reference ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ deleteInBase()

virtual int glo::Reference::deleteInBase ( EnDeepMode eDeepMode = DM_SHALLOW)
virtual

Referenziertes Objekt wird in der Datenbank gelöscht.

Parameter
[in]eDeepModeDer Löschtiefenmodus
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getObjID()

ObjID glo::Reference::getObjID ( ) const

Liefert die Objekt-ID der Referenz.

Rückgabe
s.o.

◆ getObjIDAsPointer()

const ObjID * glo::Reference::getObjIDAsPointer ( ) const

Liefert die Objekt-ID der Referenz als Zeiger.

Rückgabe
s.o.

◆ getReference() [1/2]

int glo::Reference::getReference ( BasePersistent *& prRetVal) const

Liefert das referenzierte Objekt aus der Datenbank (bzw. aus dem Speicher wenn schon geladen).

Parameter
[in,out]prRetValDas referenzierte Objekt.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Achtung
Das gelieferte Objekt muss von der aufrufenden Instanz mittels BasePersistent::forget() aus dem Speicher entfernt werden.

◆ getReference() [2/2]

int glo::Reference::getReference ( std::shared_ptr< BasePersistent > & sprRetVal) const

Liefert das referenzierte Objekt aus der Datenbank (bzw. aus dem Speicher wenn schon geladen).

Parameter
[in,out]sprRetValDas referenzierte Objekt.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ getTypeAsString()

virtual int glo::Reference::getTypeAsString ( std::string & rsTypeName)
overridevirtual

Liefert den Typ der Referenz, also den Klassennamen als String, wenn mit Datenbank verbunden.

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

Erneute Implementation von glo::CallBack.

◆ isLocked() [1/2]

virtual int glo::Reference::isLocked ( const LockSpecification & rLockSpecification) const
virtual

Prüft, ob referenziertes Objekt in der Datenbank mit den übergebenen Parametern gelockt ist.

Parameter
[in]rLockSpecificationDer Sperr- und Sperrtiefenmodus.
Rückgabe
Wenn > 0, ist das Objekt in der Datenbank gesperrt. Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ isLocked() [2/2]

virtual int glo::Reference::isLocked ( EnLockMode eLockMode = LK_DELETEvWRITE,
EnDeepMode eDeepMode = DM_SHALLOW ) const
virtual

Prüft, ob referenziertes Objekt in der Datenbank mit den übergebenen Parametern gelockt ist.

Parameter
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperrtiefenmodus.
Rückgabe
Wenn > 0, ist das Objekt in der Datenbank gesperrt. Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ isNULL()

bool glo::Reference::isNULL ( ) const

Prüft ob die Referenz formal gültig ist.

Rückgabe
Liefert true, wenn die Referenz formal ungültig ist.

◆ isPossible() [1/2]

virtual int glo::Reference::isPossible ( bool bRead,
bool bWrite,
bool bDelete,
EnDeepMode eDeepMode = DM_SHALLOW ) const
virtual

Prüft die erlaubten Aktionen für das referenzierte Objekt in der Datenbank.

Parameter
[in]bReadWenn true, wird auf Lesen dürfen geprüft.
[in]bWriteWenn true, wird auf Schreiben dürfen geprüft.
[in]bDeleteWenn true, wird auf Löschen dürfen geprüft.
[in]eDeepModeDer Tiefenmodus für den geprüft wird.
Rückgabe
Wenn Rückgabe == 0, ist die Anfrage erlaubt. Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ isPossible() [2/2]

virtual int glo::Reference::isPossible ( const LockPossibleSpecification & rLockPossibleSpec,
EnDeepMode eDeepMode = DM_SHALLOW ) const
virtual

Prüft die erlaubten Aktionen für das referenzierte Objekt in der Datenbank.

Parameter
[in]rLockPossibleSpecDie Möglichkeitsanfrage.
[in]eDeepModeDer Tiefenmodus für den geprüft wird.
Rückgabe
Wenn Rückgabe == 0, ist die Anfrage erlaubt. Eine Rückgabe < 0 zeigt einen Fehler an.
Siehe auch
Objekt auf Sperren bzw. Zugriffsmöglichkeiten prüfen.

◆ lock() [1/2]

virtual int glo::Reference::lock ( const LockSpecification & rLockSpecification) const
virtual

Das referenzierte Objekt wird in der Datenbank für andere Clients gesperrt.

Parameter
[in]rLockSpecificationDer Sperr- und Sperrtiefenmodus.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Sperre aufzuheben muss die korrespondierende Methode unlock(const LockSpecification&) const mit gleichen Parameterwerten genutzt werden.
Siehe auch
Ein persistentes Objekt sperren.

◆ lock() [2/2]

virtual int glo::Reference::lock ( EnLockMode eLockMode = LK_DELETEvWRITE,
EnDeepMode eDeepMode = DM_SHALLOW ) const
virtual

Das referenzierte Objekt wird in der Datenbank für andere Clients gesperrt.

Parameter
[in]eLockModeDer Sperrmodus.
[in]eDeepModeDer Sperrtiefenmodus.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Sperre aufzuheben muss die korrespondierende Methode unlock(EnLockMode, EnDeepMode) const mit gleichen Parameterwerten genutzt werden.
Siehe auch
Ein persistentes Objekt sperren.

◆ operator!=()

bool glo::Reference::operator!= ( const Reference & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

Reference & glo::Reference::operator= ( const Reference & rT)

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ operator==()

bool glo::Reference::operator== ( const Reference & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ setNULL()

void glo::Reference::setNULL ( )

Setzt die Referenz auf formal ungültig.

◆ setReference() [1/3]

int glo::Reference::setReference ( const BasePersistent & rObj)

Übernimmt die Objekt-ID des übergeben Objekt als Referenz. Beide Objekte, dieses und das zu referenzierende Objekt müssen an der selben Datenbank angemeldet sein.

Parameter
[in]rObjDie Objekt-ID des zu referenzierenden Objekts.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setReference() [2/3]

int glo::Reference::setReference ( const BasePersistent * pObj)

Übernimmt die Objekt-ID des übergeben Objekt als Referenz. Beide Objekte, dieses und das zu referenzierende Objekt müssen an der selben Datenbank angemeldet sein.

Parameter
[in]pObjDie Objekt-ID des zu referenzierenden Objekts.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setReference() [3/3]

virtual void glo::Reference::setReference ( const ObjID & rObjID)
virtual

Übernimmt die Objekt-ID.

Parameter
[in]rObjIDDie Objekt-ID des zu referenzierenden Objekts.

Erneute Implementation in glo::TOndemand< T >.

◆ setWatch() [1/2]

virtual int glo::Reference::setWatch ( const WatchSpecification & rWatchSpec) const
virtual

Das referenzierte Objekt wird in der Datenbank überwacht.

Parameter
[in]rWatchSpecDie Überwachungsspezifikation. CallBack::notify() benachrichtigt wird.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben muss die korrespondierende Methode BasePersistent::unsetWatch( const WatchSpecification & rWatchSpec ) const mit gleichen Parameterwerten genutzt werden.
Siehe auch
Beobachten und benachrichtigen.

◆ setWatch() [2/2]

virtual int glo::Reference::setWatch ( TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack = 0 ) const
virtual

Das referenzierte Objekt wird in der Datenbank überwacht.

Parameter
[in]ulWatchModeDer Überwachungsmodus.
Erlaubte Überwachungsmodi:
[in]eDeepModeDer Überwachungstiefenmodus.
[in]pCallBackDas 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.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Um die Überwachung aufzuheben muss die korrespondierende Methode unsetWatch( TdWatchNotifyMode, EnDeepMode, CallBack*) const mit gleichen Parameterwerten genutzt werden.
Achtung
Grundsätzlich darf pCallBack nicht zerstört werden, bevor der bzw. die Überwachungen zurückgenommen wurden!
Siehe auch
Beobachten und benachrichtigen.

◆ unlock() [1/2]

virtual int glo::Reference::unlock ( const LockSpecification & rLockSpecification) const
virtual

Das referenzierte Objekt wird in der Datenbank freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie der vorherige Sperraufruf aufgerufen werden.

Parameter
[in]rLockSpecificationDer ursprüngliche Sperr- und Sperrtiefenmodus.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Sperre auf, die durch die korrespondierende Methode lock(const LockSpecification&) const initiiet wurde, wenn der Parameter die selben Werte hat.
Siehe auch
Ein persistentes Objekt sperren.

◆ unlock() [2/2]

virtual int glo::Reference::unlock ( EnLockMode eLockMode = LK_DELETEvWRITE,
EnDeepMode eDeepMode = DM_SHALLOW ) const
virtual

Das referenzierte Objekt wird in der Datenbank freigegeben. Eine Sperrfreigabe muss mit den gleichen Parametern wie der vorherige Sperraufruf aufgerufen werden.

Parameter
[in]eLockModeDer ursprüngliche Sperrmodus.
[in]eDeepModeDer ursprüngliche Sperrtiefenmodus.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Sperre auf, die durch die korrespondierende Methode lock(EnLockMode, EnDeepMode) const initiiet wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Ein persistentes Objekt sperren.

◆ unsetWatch() [1/2]

virtual int glo::Reference::unsetWatch ( const WatchSpecification & rWatchSpec) const
virtual

Die Überwachung des referenzierten Objekts in der Datenbank wird abgebrochen. Eine Überwachungsbeendigung muss mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]rWatchSpecDie Überwachungsspezifikation.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatch(const WatchSpecification&) const initiiet wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Beobachten und benachrichtigen.

◆ unsetWatch() [2/2]

virtual int glo::Reference::unsetWatch ( TdWatchNotifyMode ulWatchMode,
EnDeepMode eDeepMode,
CallBack * pCallBack ) const
virtual

Die Überwachung des referenzierten Objekts in der Datenbank wird beendet. Eine Überwachungsbeendigung muss mit den gleichen Parametern wie die vorherige Überwachung aufgerufen werden.

Parameter
[in]ulWatchModeDer ursprüngliche Überwachungsmodus.
Erlaubte Überwachungsmodi:
  • WNM_READ = lesen wird gemeldet
  • WNM_WRITE = schreiben wird gemeldet
  • WNM_DELETE = löschen wird gemeldet
  • WNM_LOCK = sperren wird gemeldet
  • WNM_UNLOCK = freigeben wird gemeldet
[in]eDeepModeDer ursprüngliche Überwachungstiefenmodus.
[in]pCallBackDas 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.
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.
Zu beachten
Hebt die Überwachung auf, die durch die korrespondierende Methode setWatch(TdWatchNotifyMode, EnDeepMode, CallBack*) const initiiet wurde, wenn die Parameter die selben Werte haben.
Siehe auch
Beobachten und benachrichtigen.

Freundbeziehungen und Funktionsdokumentation

◆ Base

friend class Base
friend

◆ BaseAllSet

friend class BaseAllSet
friend

◆ ObjectMaker

friend class ObjectMaker
friend

◆ OdRefRecordAttribute

friend class OdRefRecordAttribute
friend

◆ OndemandList

friend class OndemandList
friend

◆ OndemandLot

friend class OndemandLot
friend

◆ OndemandSet

friend class OndemandSet
friend

◆ TableReaderInterface

friend class TableReaderInterface
friend

Dokumentation der Datenelemente

◆ m_RefObjID

ObjID glo::Reference::m_RefObjID
private

Die Referenz auf ein persistentes Objekt als Objekt-ID.


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