Die Basisklasse eines Referenz-Attributs von persistenten Objekten auf andere persistente Objekte in der Datenbank.
Mehr ...
#include <GloReference.h>
|
| Reference () |
|
| Reference (const ObjID &rObjID) |
|
| Reference (Base &rBase) |
|
| Reference (const ObjID &rObjID, Base &rBase) |
|
| Reference (const Reference &rT) |
|
virtual | ~Reference () |
|
virtual int | getTypeAsString (std::string &rsTypeName) override |
|
bool | isNULL () const |
|
void | setNULL () |
|
ObjID | getObjID () const |
|
const ObjID * | getObjIDAsPointer () const |
|
virtual void | setReference (const ObjID &rObjID) |
|
int | setReference (const BasePersistent *pObj) |
|
int | setReference (const BasePersistent &rObj) |
|
int | getReference (BasePersistent *&prRetVal) const |
|
int | getReference (std::shared_ptr< BasePersistent > &sprRetVal) const |
|
virtual int | deleteInBase (EnDeepMode eDeepMode=DM_SHALLOW) |
|
virtual int | lock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const |
|
virtual int | lock (const LockSpecification &rLockSpecification) const |
|
virtual int | unlock (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const |
|
virtual int | unlock (const LockSpecification &rLockSpecification) const |
|
virtual int | isLocked (EnLockMode eLockMode=LK_DELETEvWRITE, EnDeepMode eDeepMode=DM_SHALLOW) const |
|
virtual int | isLocked (const LockSpecification &rLockSpecification) 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 | setWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack=0) const |
|
virtual int | setWatch (const WatchSpecification &rWatchSpec) const |
|
virtual int | unsetWatch (TdWatchNotifyMode ulWatchMode, EnDeepMode eDeepMode, CallBack *pCallBack) const |
|
virtual int | unsetWatch (const WatchSpecification &rWatchSpec) const |
|
Reference & | operator= (const Reference &rT) |
|
|
bool | operator== (const Reference &rT) const |
| Vergleichsoperator.
|
|
bool | operator!= (const Reference &rT) const |
| Vergleichsoperator.
|
|
| CallBack () |
|
| CallBack (Base &rBase) |
|
virtual | ~CallBack () |
|
virtual void | notify (NotifyNote &rNote) |
|
virtual void | setBase (Base *pBase) |
|
Base * | getBase () const |
|
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.
|
|
Die Basisklasse eines Referenz-Attributs von persistenten Objekten auf andere persistente Objekte in der Datenbank.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ Reference() [1/5]
glo::Reference::Reference |
( |
| ) |
|
◆ Reference() [2/5]
glo::Reference::Reference |
( |
const ObjID & | rObjID | ) |
|
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | rObjID | Es 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] | rBase | Es 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] | rObjID | Es 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] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ ~Reference()
virtual glo::Reference::~Reference |
( |
| ) |
|
|
virtual |
◆ deleteInBase()
virtual int glo::Reference::deleteInBase |
( |
EnDeepMode | eDeepMode = DM_SHALLOW | ) |
|
|
virtual |
Referenziertes Objekt wird in der Datenbank gelöscht.
- Parameter
-
[in] | eDeepMode | Der 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]
Liefert das referenzierte Objekt aus der Datenbank (bzw. aus dem Speicher wenn schon geladen).
- Parameter
-
[in,out] | prRetVal | Das 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] | sprRetVal | Das 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] | rsTypeName | Die 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] | rLockSpecification | Der 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 |
Fragt in der Datenbank nach, ob das referenziertes Objekt mit einem bestimmten Sperrmodus von einer anderen Instanz gesperrt ist (nicht irgendein Flag im Speicher, also 'teuer').
- Parameter
-
[in] | eLockMode | Der Sperrmodus. |
[in] | eDeepMode | Der 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] | bRead | Wenn true, wird auf Lesen dürfen geprüft. |
[in] | bWrite | Wenn true, wird auf Schreiben dürfen geprüft. |
[in] | bDelete | Wenn true, wird auf Löschen dürfen geprüft. |
[in] | eDeepMode | Der 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] | rLockPossibleSpec | Die Möglichkeitsanfrage. |
[in] | eDeepMode | Der 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] | rLockSpecification | Der 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] | eLockMode | Der Sperrmodus. |
[in] | eDeepMode | Der 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] | rT | Das mit diesem zu vergleichende Objekt. |
◆ operator=()
Zuweisungsoperator.
- Parameter
-
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
◆ operator==()
bool glo::Reference::operator== |
( |
const Reference & | rT | ) |
const |
Vergleichsoperator.
- Parameter
-
[in] | rT | Das mit diesem zu vergleichende Objekt. |
◆ setNULL()
void glo::Reference::setNULL |
( |
| ) |
|
Setzt die Referenz auf formal ungültig.
◆ setReference() [1/3]
Ü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] | rObj | Die Objekt-ID des zu referenzierenden Objekts. |
- Rückgabe
- Eine Rückgabe < 0 zeigt einen Fehler an.
◆ setReference() [2/3]
Ü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] | pObj | Die 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] | rObjID | Die 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
-
- 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] | ulWatchMode | Der Überwachungsmodus.
Erlaubte Überwachungsmodi:
- ::WNM_READ = lesen wird gemeldet
- ::WNM_READ_TRANSACTION = wie ::WNM_READ, wird in einer Transaktion ausgelöst
- ::WNM_WRITE = schreiben wird gemeldet
- ::WNM_WRITE_TRANSACTION = wie ::WNM_WRITE, wird in einer Transaktion ausgelöst
- ::WNM_DELETE = löschen wird gemeldet
- ::WNM_DELETE_TRANSACTION = wie ::WNM_DELETE, wird in einer Transaktion ausgelöst
- ::WNM_LOCK = sperren wird gemeldet
- ::WNM_UNLOCK = freigeben wird gemeldet
|
[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. |
- 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] | rLockSpecification | Der 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] | eLockMode | Der ursprüngliche Sperrmodus. |
[in] | eDeepMode | Der 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] | rWatchSpec | Die Ü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] | ulWatchMode | Der ursprüngliche Überwachungsmodus.
Erlaubte Überwachungsmodi:
- ::WNM_READ = lesen wird gemeldet
- ::WNM_READ_TRANSACTION = wie ::WNM_READ, wird in einer Transaktion ausgelöst
- ::WNM_WRITE = schreiben wird gemeldet
- ::WNM_WRITE_TRANSACTION = wie ::WNM_WRITE, wird in einer Transaktion ausgelöst
- ::WNM_DELETE = löschen wird gemeldet
- ::WNM_DELETE_TRANSACTION = wie ::WNM_DELETE, wird in einer Transaktion ausgelöst
- ::WNM_LOCK = sperren wird gemeldet
- ::WNM_UNLOCK = freigeben wird gemeldet
|
[in] | eDeepMode | Der ursprüngliche Ü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. |
- 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.
◆ Base
◆ BaseAllSet
◆ ObjectMaker
◆ OdRefRecordAttribute
friend class OdRefRecordAttribute |
|
friend |
◆ OndemandList
friend class OndemandList |
|
friend |
◆ OndemandLot
◆ OndemandSet
◆ TableReaderInterface
friend class TableReaderInterface |
|
friend |
◆ 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: