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

Abstrakte Oberklasse für Instanziierungsfunktionen der persistenten Klassen. Von dieser Klasse wird grundsätzlich für jede Datenbank aus einem Schema eine Unterklasse abgeleitet, welche aus den Klassen-IDs persistente Objekte instanziieren kann. Mehr ...

#include <GloObjCreator.h>

Öffentliche Methoden

 ObjCreator ()
 
virtual ~ObjCreator ()
 
virtual std::string getBaseName () const =0
 
virtual unsigned long getClassID (BaseAllSet *pAllSet) const =0
 
virtual ObjCreatorgetCopy () const =0
 
virtual int getPersObject (Persistent *&prNewObject, unsigned long ulClassID) const =0
 
virtual int getPersObject (std::shared_ptr< Persistent > &rNewObject, unsigned long ulClassID) const =0
 
virtual bool isKnownClassID (unsigned long ulClassID) const =0
 

Private Methoden

 ObjCreator (const ObjCreator &)
 
ObjCreatoroperator= (const ObjCreator &)
 

Ausführliche Beschreibung

Abstrakte Oberklasse für Instanziierungsfunktionen der persistenten Klassen. Von dieser Klasse wird grundsätzlich für jede Datenbank aus einem Schema eine Unterklasse abgeleitet, welche aus den Klassen-IDs persistente Objekte instanziieren kann.

Der abgeleitete Objektersteller wird in der Regel vom GloDeveloper erstellt und muss in die Sourcedateien eingebunden sein, in der mit der Base gearbeitet wird.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ObjCreator() [1/2]

glo::ObjCreator::ObjCreator ( )
inline

Standard-Konstruktor.

◆ ~ObjCreator()

virtual glo::ObjCreator::~ObjCreator ( )
inlinevirtual

Destruktor.

◆ ObjCreator() [2/2]

glo::ObjCreator::ObjCreator ( const ObjCreator & )
private

Der Copy-Konstruktor steht nicht zur Verfügung.

Siehe auch
getCopy()

Dokumentation der Elementfunktionen

◆ getBaseName()

virtual std::string glo::ObjCreator::getBaseName ( ) const
pure virtual

Liefert in der Unterklasse den Datenbanknamen.

Rückgabe
s.o.

◆ getClassID()

virtual unsigned long glo::ObjCreator::getClassID ( BaseAllSet * pAllSet) const
pure virtual

Liefert in der Unterklasse die Klassen-ID des übergebenen AllSets.

Parameter
[in]pAllSetDer zu prüfende AllSet.
Rückgabe
Wenn der AllSet bekannt ist, die entsprechende Klassen-ID.
Ausnahmebehandlung
eut::ErrorNExceptionWenn der Type des AllSets nicht bekannt ist, wird eine Exceptionmit dem Fehler ERR_UNKNOWN_OBJECT_TYPE geworfen.

◆ getCopy()

virtual ObjCreator * glo::ObjCreator::getCopy ( ) const
pure virtual

Liefert in der Unterklasse eine Kopie seiner selbst.

Rückgabe
Die Kopie dieses Objektes.
Achtung
Die Kopie muss von der aufrufenden Instanz aus dem Speicher entfernt werden.

◆ getPersObject() [1/2]

virtual int glo::ObjCreator::getPersObject ( Persistent *& prNewObject,
unsigned long ulClassID ) const
pure virtual

Liefert in der Unterklasse ein persistentes Objekt (instanziierung mit dem Standard-Konstruktor) der übergebenen Klassen-ID.

Parameter
[in,out]prNewObjectDas instanziierte persistente Objekt.
[in]ulClassIDDie Klassen-ID des zu instanziierenden Objekts.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.
Achtung
Wenn prNewObject gültig, muss dieses Objekt von der aufrufenden Instanz mittels BasePersistent::forget() aus dem Speicher entfernt werden.
Zu beachten
Es wird empfohlen, wenn möglich, die Verwendung von std::shared_ptr in Betracht zu ziehen und die Methode getPersObject(std::shared_ptr<Persistent>&, unsigned long)const zu nutzen.

◆ getPersObject() [2/2]

virtual int glo::ObjCreator::getPersObject ( std::shared_ptr< Persistent > & rNewObject,
unsigned long ulClassID ) const
pure virtual

Liefert in der Unterklasse ein persistentes Objekt (instanziierung mit dem Standard-Konstruktor) der übergebenen Klassen-ID.

Parameter
[in,out]rNewObjectDas instanziierte persistente Objekt.
[in]ulClassIDDie Klassen-ID des zu instanziierenden Objekts.
Rückgabe
Ein Rückgabewert < 0 zeigt einen Fehler an.

◆ isKnownClassID()

virtual bool glo::ObjCreator::isKnownClassID ( unsigned long ulClassID) const
pure virtual

Prüft in der Unterklasse ob eine Klassen-ID bekannt ist.

Parameter
[in]ulClassIDDie zu prüfende Klassen-ID.
Rückgabe
Wenn true, ist übergebene Klassen-ID bekannt.

◆ operator=()

ObjCreator & glo::ObjCreator::operator= ( const ObjCreator & )
private

Der Zuweisungsoperator steht nicht zur Verfügung.


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