Diese Klasse kann aus einem Datensatz ein persistentes Objekt instanziieren bzw. ein persistentes Objekt befüllen und umgekehrt.
Mehr ...
#include <GloObjectMaker.h>
Diese Klasse kann aus einem Datensatz ein persistentes Objekt instanziieren bzw. ein persistentes Objekt befüllen und umgekehrt.
- Copyright
- © 2010 Helmut Jakoby
- Autor
- Helmut Jakoby
◆ ObjectMaker() [1/3]
glo::ObjectMaker::ObjectMaker |
( |
| ) |
|
|
private |
Der Standard-Konstruktor steht nicht zur Verfügung.
◆ ObjectMaker() [2/3]
glo::ObjectMaker::ObjectMaker |
( |
const std::string & | rstrSchemaNameWithPath, |
|
|
ObjCreator & | rCreator ) |
Konstruktor mit Parameterübergabe.
- Parameter
-
[in] | rstrSchemaNameWithPath | Dateiname des Schemas mit Pfad; z.B. "C:/Pfad/MyGloBase.ini". |
[in] | rCreator | Der abgeleitete ObjCreator, dieser wird kopiert. |
- Ausnahmebehandlung
-
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen (z.B. wenn die Schemadatei nicht existiert oder nicht geöffnet werden kann). |
- Achtung
- Wenn die Schemadatei mit übergebener Bezeichnung existiert, wird ein SchemaInterface instanziiert.
◆ ~ObjectMaker()
virtual glo::ObjectMaker::~ObjectMaker |
( |
| ) |
|
|
virtual |
◆ ObjectMaker() [3/3]
Der Copy-Konstruktor steht nicht zur Verfügung.
◆ fillPersObject()
Füllt das übergebene persistentes Objekt mit den Daten des übergebenen Datensatzs aus der übergebenen Datenbank.
- Parameter
-
[in,out] | rObject | Das mit Daten zu füllende persistente Objekt. |
[in] | rRecord | Der Datensatz mit den Daten aus der Datenbank. |
[in] | pBase | Die Datenbank, in der das persistente Objekt gespeichert ist. Wird benötigt, um evtl. weitere, notwendige Daten nachzuladen. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
- Zu beachten
- Für Glo-Entwickler: Ist in GloRecordAttributeFunctions.cpp implementiert, damit Erweiterungen von Datensatz-Attributen dort gesammelt vorgenommen werden können.
◆ fillRecord()
int glo::ObjectMaker::fillRecord |
( |
Record & | rRecord, |
|
|
Persistent & | rObject, |
|
|
bool | bWithRefRecords = false ) const |
Füllt den übergebenen Datensatz mit den Daten des übetrgebenen persistenten Objektes.
- Parameter
-
[in,out] | rRecord | Der mit Daten zu füllende Datensatz. |
[in] | rObject | Das persistente Objekt mit seinen Daten. |
[in] | bWithRefRecords | Wenn true, werden bei Attributen des Typs PoRefRecordAttribute, StdShrdPoRefRecordAttribute, StdUnqPoRefRecordAttribute, PoRefListRecordAttribute und PoRefSetRecordAttribute, wenn auf gültige Objekte referenziert wird, der jeweilige Datensatz generiert.
Das ist an- bzw. abschaltbar, da die Datensätze der referenzierten Objekt, wenn sie z.B. mitgespeichert werden sollen, über PrivateBase::getDependDataRecords (...) schon generiert werden.
Voreinstellung ist 'false'. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ getClassID()
unsigned long glo::ObjectMaker::getClassID |
( |
BaseAllSet * | pAllSet | ) |
const |
Liefert die Klassen-ID des übergebenen AllSets.
- Rückgabe
- Wenn AllSet bekannt, dann die entsprechende Klassen-ID.
- Ausnahmebehandlung
-
◆ getSchema()
Liefert sein SchemaInterface.
- Rückgabe
- Das gelieferte Objekt lebt nur so lange wie dieses Objekt und darf von der aufrufenden Instanz nicht aus dem Speicher entfernt werden.
◆ isKnownClassID()
bool glo::ObjectMaker::isKnownClassID |
( |
unsigned long | ulClassID | ) |
const |
Fragt beim m_pObjCreator an, ob die übergebene Klassen-ID für diesen gültig ist.
- Parameter
-
[in] | ulClassID | Die zu prüfende Klassen-ID. |
- Rückgabe
- Wenn true, kann der ObjectCreator ein Objekt der persistenten Klasse mit übergebener Klassen-ID instanziieren.
◆ makeNewPersObject()
int glo::ObjectMaker::makeNewPersObject |
( |
Persistent *& | prNewObject, |
|
|
Record & | rRecord, |
|
|
Base * | pBase ) const |
Liefert ein neues persistentes Objekt mit den Daten des übergebenen Datensatzes aus der übergebenen Datenbank.
- Parameter
-
[in,out] | prNewObject | In diesem Zeiger wird das persistente Objekt geliefert. |
[in] | rRecord | Der Datensatz mit den Daten aus der Datenbank. |
[in] | pBase | Die Datenbank, in der das persistente Objekt gespeichert ist. Wird benötigt, um evtl. weitere, notwendige Daten nachzuladen. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
- Achtung
- Wenn ein neues Objekt geliefert wurde (es wird nicht ein evtl. schon im Speicher vorhandenes geliefert), ist der Datensatz in das neue Objekt übertragen worden und die Datenbank im neuen Objekt gesetzt.
- Ausnahmebehandlung
-
◆ makeNewRecord() [1/2]
int glo::ObjectMaker::makeNewRecord |
( |
Record *& | prNewRecord, |
|
|
Persistent & | rObject ) const |
Liefert einen neuen Datensatz (ohne Daten) welcher zu dem übergebenen persistenten Objekt passt.
- Parameter
-
[in,out] | prNewRecord | Der neue Datensatz. |
[in] | rObject | Das Objekt, für den der Datensatz generiert werden soll. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ makeNewRecord() [2/2]
int glo::ObjectMaker::makeNewRecord |
( |
Record *& | prNewRecord, |
|
|
unsigned long | ulClassID ) const |
Liefert einen neuen Datensatz (ohne Daten) welcher zu einem persistenten Objekt mit übergebener Klassen-ID passt.
- Parameter
-
[in,out] | prNewRecord | Der neue Datensatz. |
[in] | ulClassID | Die Klassen-ID, für den der Datensatz generiert werden soll. |
- Rückgabe
- Ein Rückgabewert < 0 zeigt einen Fehler an.
◆ operator=()
Der Zuweisungsoperator steht nicht zur Verfügung.
◆ m_pObjCreator
Der ObejectCreator bzw. seine Unterklasse weiß, wie persistente Objekte instanziiert werden.
◆ m_pSchema
Um aus Datensätzen Objekte und aus diesen wiederum Datensätze generieren und befüllen zu können, muß das Schema bekannt sein.
Die Dokumentation für diese Klasse wurde erzeugt aufgrund der Datei: