GlobalObjects
|
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformationen um Objekte von persistenten Klassen in einer Datenbank speichern zu können und um aus Tabellen Objekte und aus Objekten Tabellen bauen zu können. Mehr ...
#include <GloSchemaInterface.h>
Klassen | |
struct | TempGloClassInfoIndex |
Struktur um Indexe bis zum Ende des Einlesens aus der Schemadatei zu sammeln. Mehr ... | |
Öffentliche Methoden | |
SchemaInterface (const SchemaInterface &rT) | |
SchemaInterface (const std::string &rsSchemaFullName, bool bInDeveloperMode, bool bNew) | |
SchemaInterface (const std::string &rsSchemaFullName, bool bInDeveloperMode=false) | |
virtual | ~SchemaInterface () |
std::string | _DEBUG_ToString () |
void | changeAllClassReferences (const std::string &rsOldReferenceName, const std::string &rsNewReferenceName, std::map< unsigned long, ClassInfo *, std::less< unsigned long > > *pChangedClassesContainer) |
bool | classIdExisting (unsigned long ulClassID) const |
bool | classInfoFileNameExisting (const std::string &rsClassFileName) const |
bool | classInfoNameExisting (const std::string &rsClassName) const |
int | destroyClassInfo (unsigned long ulClassID) |
int | getAllAttributes (std::map< std::string, ClassInfoAttribute *, std::less< std::string > > &rRetValContainer) const |
int | getAllAttributes (std::set< ClassInfoAttribute * > &rRetValContainer, unsigned long ulClassID, bool bWithSuperClassAttributes=true) const |
int | getAllClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rClassInfoContainer, bool bCopy=true) const |
int | getAllSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const |
int | getAllSuperClassIDs (std::set< unsigned long > &rSuperClassIdSet, unsigned long ulClassID) const |
int | getAllSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const |
int | getAllTableNames (std::map< std::string, std::string, std::less< std::string > > &rTableNameContainer) const |
int | getAllTableNames (std::vector< std::string > &rTableNameContainer, unsigned long ulClassID) const |
ClassInfo * | getClassInfo (EnSeekMode eMode) |
ClassInfoAttribute * | getClassInfoAttributeByAttributeID (int &riErr, const AttributeID &rAttributeID) const |
ClassInfoAttribute * | getClassInfoAttributeByClassAndAttributeName (int &riErr, const std::string &rsClassName, const std::string &rsAttributeName) const |
ClassInfoAttribute * | getClassInfoAttributeByTableAndFieldName (int &riErr, const std::string &rsTableName, const std::string &rsFieldName) const |
ClassInfoAttribute * | getClassInfoAttributeByTableAndFieldName (int &riErr, unsigned long ulClassID, const std::string &rsTableName, const std::string &rsFieldName) const |
ClassInfo * | getClassInfoByID (unsigned long ulClassID) const |
ClassInfo * | getClassInfoByMainTable (const std::string &rsMainTableName) const |
ClassInfo * | getClassInfoByName (const std::string &rsClassName) const |
ClassInfoIndex * | getClassInfoIndexByClassAndIndexName (int &riErr, const std::string &rsClassName, const std::string &rsIndexName) const |
int | getClassTableWithPath (std::string &rstrRetVal, unsigned long ulClassID) const |
std::string | getDataPath () const |
std::string | getDataSubDir () const |
std::string | getDescription () const |
unsigned long | getNextClassID () |
std::size_t | getNumberOfClassInfos () const |
std::string | getSchemaFullName () const |
unsigned long | getSchemaID () const |
std::string | getSchemaName () const |
std::string | getSchemaPath () const |
int | getSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const |
int | getSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy=true) const |
unsigned long | getVersion () const |
int | insertClassInfo (ClassInfo *pNewClassInfo) |
bool | isSuperClassFrom (unsigned long ulClassIDSuperClass, unsigned long ulClassIDSubClass) const |
SchemaInterface & | operator= (const SchemaInterface &rT) |
void | setDataSubDir (const std::string &rsDataSubDir) |
void | setDescription (const std::string &rsDescription) |
void | setSchemaFullName (const std::string &rsSchemaFullName) |
void | setSchemaID (unsigned long ulID) |
void | setSubClassInfosInAllClassInfo () |
void | setVersion (unsigned long ulVersion) |
bool | tableNameExisting (const std::string &rsTableName) const |
int | writeSchema () |
Geschützte Methoden | |
SchemaInterface () | |
SchemaInterface (const std::map< unsigned long, ClassInfo * > *pClassInfoMap) | |
SchemaInterface (const std::map< unsigned long, std::shared_ptr< glo::ClassInfo > > rClassInfoMap) | |
Private Methoden | |
int | changeClassNameDotAttributNameInAttributeID (std::vector< TempGloClassInfoIndex > &rTempGloClassInfoIndexVector) |
void | copyClassInfoListFrom (const SchemaInterface &rT) |
void | deleteAllClassInfos () |
int | getSubClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSubClassInfoContainer, unsigned long ulClassID, bool bCopy, bool bDeep) const |
int | getSuperClassInfos (std::map< unsigned long, ClassInfo *, std::less< unsigned long > > &rSuperClassInfoContainer, unsigned long ulClassID, bool bCopy, bool bDeep) const |
void | init () |
void | initNew () |
Private Attribute | |
bool | m_bInDeveloperMode |
std::map< unsigned long, ClassInfo *, std::less< unsigned long > > | m_ClassInfoMap |
std::map< unsignedlong, ClassInfo * >::iterator | m_ClassInfoMapIterator |
std::vector< unsigned long > | m_CurrentlyAssignedClassIDVector |
std::string | m_sDataSubDir |
std::string | m_sDescription |
std::string | m_sSchemaDataPath |
std::string | m_sSchemaFullName |
unsigned long | m_ulID |
unsigned long | m_ulVersion |
Freundbeziehungen | |
class | BaseMaker |
class | Record |
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformationen um Objekte von persistenten Klassen in einer Datenbank speichern zu können und um aus Tabellen Objekte und aus Objekten Tabellen bauen zu können.
Diese Klasse kann Schemadateien lesen und speichern. Klasseninformationen können hinzugefügt, geändert und entfernt werden.
|
protected |
Der Standard-Konstruktor steht nicht zur Verfügung.
|
protected |
Konstruktor mit Parameterübergabe (wird vom Record genutzt).
[in] | pClassInfoMap | Die Klasseninformationen. |
|
protected |
Konstruktor mit Parameterübergabe (wird vom Record genutzt).
[in] | rClassInfoMap | Die Klasseninformationen. |
glo::SchemaInterface::SchemaInterface | ( | const std::string & | rsSchemaFullName, |
bool | bInDeveloperMode = false ) |
Konstruktor mit Parameterübergabe.
[in] | rsSchemaFullName | Der vollständiger Dateiname (z.B. unter dem Betriebssystem Windows "C:/Pfad/MyGloBase.ini"). |
[in] | bInDeveloperMode | Wenn true ist das SchemaInterface im Entwicklungsmodus. Es werden die Entwickler-Kommentare mit den Klassen und Attributen aus dem Schema geliefert und geschrieben. Ansonsten nicht, um nicht unnötigerweise das Datenaufkommen aufzublasen. |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
glo::SchemaInterface::SchemaInterface | ( | const std::string & | rsSchemaFullName, |
bool | bInDeveloperMode, | ||
bool | bNew ) |
Konstruktor mit Parameterübergabe.
[in] | rsSchemaFullName | Der vollständiger Dateiname (z.B. unter dem Betriebssystem Windows "C:/Pfad/MyGloBase.ini"). |
[in] | bInDeveloperMode | Wenn true ist das SchemaInterface im Entwicklungsmodus. Es werden die Entwickler-Kommentare mit den Klassen und Attributen aus dem Schema geliefert und geschrieben. Ansonsten nicht, um nicht unnötigerweise das Datenaufkommen aufzublasen. |
[in] | bNew | Wenn true, wird ein neues Schema angelegt, es wird SchemaInterface::initNew() aufgerufen, ansonsten SchemaInterface::init(). |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
glo::SchemaInterface::SchemaInterface | ( | const SchemaInterface & | rT | ) |
Copy-Konstruktor.
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
|
virtual |
Destruktor, es werden alle Klasseninformationen aus dem Speicher entfernt.
std::string glo::SchemaInterface::_DEBUG_ToString | ( | ) |
void glo::SchemaInterface::changeAllClassReferences | ( | const std::string & | rsOldReferenceName, |
const std::string & | rsNewReferenceName, | ||
std::map< unsigned long, ClassInfo *, std::less< unsigned long > > * | pChangedClassesContainer ) |
Es werden in allen Klasseninformationen vorhandene Referenzen auf Klassen mit der übergebenen Klassenbezeichnung rsOldReferenceName in Referenzen auf die Klasse mit der übergebenen Klassenbezeichnung rsNewReferenceName gändert.
Sollte aufgerufen werden, wenn sich ein Klassenname ändert.
[in] | rsOldReferenceName | Die Klassenbezeichnung, welche ersetzt werden soll. |
[in] | rsNewReferenceName | Die Klassenbezeichnung, welche anstelle der ersteren eingesetzt werden soll. |
[in,out] | pChangedClassesContainer | Wenn übergeben, kommen dort alle geänderten Klasseninformationen rein. |
|
private |
Tauscht alle Klassen- und Attributbezeichnungen in allen TempGloClassInfoIndex::m_sIndexPath in Klassen-ID und Attributfeldposition (equivalent zu AttributeID).
[in,out] | rTempGloClassInfoIndexVector | Der Vector von Objekten vom Typ TempGloClassInfoIndex, in denen die Werte in TempGloClassInfoIndex::m_sIndexPath verändert werden. |
bool glo::SchemaInterface::classIdExisting | ( | unsigned long | ulClassID | ) | const |
Prüft ob eine Klasse mit übergebener Klassen-ID schon im Schema existiert.
[in] | ulClassID | Die Klassen ID. |
bool glo::SchemaInterface::classInfoFileNameExisting | ( | const std::string & | rsClassFileName | ) | const |
Prüft ob eine Klasse mit übergebener Dateibezeichnung schon im Schema existiert.
[in] | rsClassFileName | Die Klassenbezeichnung |
bool glo::SchemaInterface::classInfoNameExisting | ( | const std::string & | rsClassName | ) | const |
Prüft ob eine Klasse mit übergebener Bezeichnung schon im Schema existiert.
[in] | rsClassName | Die vollständige Klassenbezeichnung (z.B. "mynamespace::MyClassName"). |
|
private |
Es werden alle Klasseninformationen aus der Liste der Klasseninformationen des Schemas und aus dem Speicher entfernt und dafür diejenigen aus dem übergebenen SchemaInterface als Kopien übernommen.
|
private |
Es werden alle Klasseninformationen aus der Liste der Klasseninformationen des Schemas und aus dem Speicher entfernt.
int glo::SchemaInterface::destroyClassInfo | ( | unsigned long | ulClassID | ) |
Entfernt und zerstört die Klasseninformation mit übergebener Klassen-ID aus m_ClassInfoMap. Es werden alle "Unterklassen"-Klasseninformation mit entfernt und zerstört.
[in] | ulClassID | Die Klassen-ID der zu entfernenden Klasseninformation. |
int glo::SchemaInterface::getAllAttributes | ( | std::map< std::string, ClassInfoAttribute *, std::less< std::string > > & | rRetValContainer | ) | const |
Liefert alle Klasseninformations-Attribute aller Klasseninformationen.
[in,out] | rRetValContainer | Die gefundenen Klasseninformations-Attribute werden eingefügt. Der Container wird in dieser Methode vor dem Einfügen nicht geleert. |
int glo::SchemaInterface::getAllAttributes | ( | std::set< ClassInfoAttribute * > & | rRetValContainer, |
unsigned long | ulClassID, | ||
bool | bWithSuperClassAttributes = true ) const |
Liefert alle Klasseninformations-Attribute von einer Klasseninformation mit übergebener Klassen-ID.
[in,out] | rRetValContainer | Die gefundenen Klasseninformations-Attribute werden eingefügt. Der Container wird in dieser Methode vor dem Einfügen nicht geleert. |
[in] | ulClassID | Klassen-ID der Klasseninformation, dessen Klasseninformations-Attribute erwartet werden. |
[in] | bWithSuperClassAttributes | Wenn false, werden die Attribute der Super-Klassen nicht (mit)geliefert. |
int glo::SchemaInterface::getAllClassInfos | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rClassInfoContainer, |
bool | bCopy = true ) const |
Liefert alle Klasseninformationen des Schemas.
[in,out] | rClassInfoContainer | Die Klasseninformationen aller Klassen des Schemas. |
[in] | bCopy | Kopien oder Originale:
|
int glo::SchemaInterface::getAllSubClassInfos | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rSubClassInfoContainer, |
unsigned long | ulClassID, | ||
bool | bCopy = true ) const |
Liefert die Klasseninformationen aller Unterklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSubClassInfoContainer | Die Klasseninformationen aller Unterklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen aller Unterklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
int glo::SchemaInterface::getAllSuperClassIDs | ( | std::set< unsigned long > & | rSuperClassIdSet, |
unsigned long | ulClassID ) const |
Liefert die Klassen-IDs aller Oberklassen der Klasse, deren ID übergeben wird.
[in,out] | rSuperClassIdSet | Die Klassen-IDs der Oberklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klassen-IDs der Oberklassen geliefert werden sollen. |
int glo::SchemaInterface::getAllSuperClassInfos | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rSuperClassInfoContainer, |
unsigned long | ulClassID, | ||
bool | bCopy = true ) const |
Liefert die Klasseninformationen aller Oberklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSuperClassInfoContainer | Die Klasseninformationen aller Oberklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen aller Oberklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
int glo::SchemaInterface::getAllTableNames | ( | std::map< std::string, std::string, std::less< std::string > > & | rTableNameContainer | ) | const |
Liefert alle Tabellenbezeichnungen aller Klasseninformationen.
[in,out] | rTableNameContainer | Die gefundenen Tabellenbezeichnungen werden eingefügt. Der Container wird in dieser Methode vor dem Einfügen nicht geleert. |
int glo::SchemaInterface::getAllTableNames | ( | std::vector< std::string > & | rTableNameContainer, |
unsigned long | ulClassID ) const |
Liefert alle Tabellenbezeichnungen von einer Klasseninformation mit übergebener Klassen-ID.
[in,out] | rTableNameContainer | Die gefundenen Tabellenbezeichnungen werden eingefügt. Der Container wird in dieser Methode vor dem Einfügen nicht geleert. |
[in] | ulClassID | Klassen-ID der Klasseninformation, dessen Tabellenbezeichnungen erwartet werden. |
ClassInfo * glo::SchemaInterface::getClassInfo | ( | EnSeekMode | eMode | ) |
Liefert eine Klasseninformation aus m_ClassInfoMap in Bezug auf eMode.
[in] | eMode | Der Suchmodus. |
Parameterbeispiele:
ClassInfoAttribute * glo::SchemaInterface::getClassInfoAttributeByAttributeID | ( | int & | riErr, |
const AttributeID & | rAttributeID ) const |
Liefert ein Klasseninformations-Attribut mit übergebener AttributeID.
[in,out] | riErr | Ein Wert < 0 zeigt einen Fehler an. |
[in] | rAttributeID | Die AttributeID des gesuchten Klasseninformations-Attributs. |
ClassInfoAttribute * glo::SchemaInterface::getClassInfoAttributeByClassAndAttributeName | ( | int & | riErr, |
const std::string & | rsClassName, | ||
const std::string & | rsAttributeName ) const |
Liefert ein Klasseninformations-Attribut von einer Klasseninformation mit den übergebenen Klassen- und Attributbezeichnungen.
[in,out] | riErr | Ein Wert < 0 zeigt einen Fehler an. |
[in] | rsClassName | Die vollständige Klassenbezeichnung des gesuchten Klasseninformations-Attributs (z.B. "mynamespace::MyClassName"). |
[in] | rsAttributeName | Die Attributbezeichnung des gesuchten Klasseninformations-Attributs. |
ClassInfoAttribute * glo::SchemaInterface::getClassInfoAttributeByTableAndFieldName | ( | int & | riErr, |
const std::string & | rsTableName, | ||
const std::string & | rsFieldName ) const |
Liefert ein Klasseninformations-Attribut von einer Klasseninformation mit den übergebenen Tabellen- und Feldbezeichnungen.
[in,out] | riErr | Ein Wert < 0 zeigt einen Fehler an. |
[in] | rsTableName | Die Tabellenbezeichnung des gesuchten Klasseninformations-Attributs. |
[in] | rsFieldName | Die Tabellenfeldbezeichnung des gesuchten Klasseninformations-Attributs. |
ClassInfoAttribute * glo::SchemaInterface::getClassInfoAttributeByTableAndFieldName | ( | int & | riErr, |
unsigned long | ulClassID, | ||
const std::string & | rsTableName, | ||
const std::string & | rsFieldName ) const |
Liefert ein Klasseninformations-Attribut von einer Klasseninformation mit übergebener Klassen-ID und übergebenen Tabellen- und Feldbezeichnungen.
[in,out] | riErr | Ein Wert < 0 zeigt einen Fehler an. |
[in] | ulClassID | Klassen-ID der Klasseninformation, dessen Klasseninformations-Attribut gesucht wird. |
[in] | rsTableName | Die Tabellenbezeichnung des gesuchten Klasseninformations-Attributs. |
[in] | rsFieldName | Die Tabellenfeldbezeichnung des gesuchten Klasseninformations-Attributs. |
ClassInfo * glo::SchemaInterface::getClassInfoByID | ( | unsigned long | ulClassID | ) | const |
Liefert die Klasseninformation aus m_ClassInfoMap mit übergebener Klassen-ID wenn vorhanden.
[in] | ulClassID | Die Klassen-ID. |
ClassInfo * glo::SchemaInterface::getClassInfoByMainTable | ( | const std::string & | rsMainTableName | ) | const |
Liefert die Klasseninformation aus m_ClassInfoMap, deren Daten in der Tabelle mit übergebener Bezeichnung gespeichert werden.
[in] | rsMainTableName | Die Tebellenbezeichnung. |
ClassInfo * glo::SchemaInterface::getClassInfoByName | ( | const std::string & | rsClassName | ) | const |
Liefert die Klasseninformation aus m_ClassInfoMap mit übergebener Bezeichnung wenn vorhanden.
[in] | rsClassName | Die vollständige Klassenbezeichnung (z.B. "namespace::MyClassName"). |
ClassInfoIndex * glo::SchemaInterface::getClassInfoIndexByClassAndIndexName | ( | int & | riErr, |
const std::string & | rsClassName, | ||
const std::string & | rsIndexName ) const |
Liefert ein Klasseninformations-Index von einer Klasseninformation mit den übergebenen Klassen- und Indexbezeichnungen.
[in,out] | riErr | Ein Wert < 0 zeigt einen Fehler an. |
[in] | rsClassName | Die vollständige Klassenbezeichnung des gesuchten Klasseninformations-Index (z.B. "mynamespace::MyClassName"). |
[in] | rsIndexName | Die Indexbezeichnung des gesuchten Klasseninformations-Index. |
int glo::SchemaInterface::getClassTableWithPath | ( | std::string & | rstrRetVal, |
unsigned long | ulClassID ) const |
Liefert den Tabellen-Dateinamen mit vollständigen Pfad einer Klasseninformation mit übergebener Klassen-ID.
[in,out] | rstrRetVal | Der Tabellen-Dateinamen mit vollständigen Pfad (z.B. unter dem Betriebssystem Windows "C:/Pfad/Data/MyClassTable"). |
[in] | ulClassID | Klassen-ID der Klasseninformation, dessen Tabellen-Dateinamen erwartet wird. |
std::string glo::SchemaInterface::getDataPath | ( | ) | const |
Liefert den vollständigen Verzeichnisnamen, in dem die Daten zu finden sind. Die Daten liegen immer in einem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt.
std::string glo::SchemaInterface::getDataSubDir | ( | ) | const |
Liefert den Verzeichnisnamen, in dem die Daten zu finden sind. Die Daten liegen immer in einem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt.
std::string glo::SchemaInterface::getDescription | ( | ) | const |
Liefert die Datenbank-Beschreibung.
unsigned long glo::SchemaInterface::getNextClassID | ( | ) |
Liefert die nächste freie eindeutige Klassen-ID.
std::size_t glo::SchemaInterface::getNumberOfClassInfos | ( | ) | const |
Liefert die Anzahl der Klasseninformationen.
std::string glo::SchemaInterface::getSchemaFullName | ( | ) | const |
Liefert den vollständiger Dateinamen.
unsigned long glo::SchemaInterface::getSchemaID | ( | ) | const |
Liefert die Schema-ID.
std::string glo::SchemaInterface::getSchemaName | ( | ) | const |
Liefert die Schema- bzw. Datenbankbezeichnung.
std::string glo::SchemaInterface::getSchemaPath | ( | ) | const |
Liefert den Datei-Pfad wo die Schemadatei zu finden ist.
|
private |
Liefert die Klasseninformationen der Unterklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSubClassInfoContainer | Die Klasseninformationen der Unterklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen der Unterklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
[in] | bDeep | Wenn true, werden nicht nur die direkten Unterklassen eingefügt, sondern auch deren Unterklassen. |
int glo::SchemaInterface::getSubClassInfos | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rSubClassInfoContainer, |
unsigned long | ulClassID, | ||
bool | bCopy = true ) const |
Liefert die Klasseninformationen der direkten Unterklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSubClassInfoContainer | Die Klasseninformationen der direkten Unterklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen der direkten Unterklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
|
private |
Liefert die Klasseninformationen der Oberklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSuperClassInfoContainer | Die Klasseninformationen der Oberklassen, wenn vorhanden. DerContainer wird in dieser Methode vor dem Einfügen nicht geleert. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen der Oberklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
[in] | bDeep | Wenn true, werden nicht nur die direkten Oberklassen eingefügt, sondern auch deren Oberklassen. |
int glo::SchemaInterface::getSuperClassInfos | ( | std::map< unsigned long, ClassInfo *, std::less< unsigned long > > & | rSuperClassInfoContainer, |
unsigned long | ulClassID, | ||
bool | bCopy = true ) const |
Liefert die Klasseninformationen der direkten Oberklasse(n) der Klasse, deren Klassen-ID übergeben wird.
[in,out] | rSuperClassInfoContainer | Die Klasseninformationen der direkten Oberklassen, wenn vorhanden. |
[in] | ulClassID | Die Klassen-ID der Klasse, deren Klasseninformationen der direkten Oberklassen erwartet werden. |
[in] | bCopy | Kopien oder Originale:
|
unsigned long glo::SchemaInterface::getVersion | ( | ) | const |
Liefert die Versionsnummer.
|
private |
Es wird das Schemainterface initialisiert. Es wird die Schemadatei geöffnet und alle Klasseninformationen mit ihren Klasseninformations-Attributen gelesen, wird vom Konstruktor aufgerufen.
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
|
private |
Es wird nür geprüft, ob das File aus "m_sSchemaFullName" nicht schon existiert.
Wird vom Konstruktor aufgerufen.
eut::ErrorNException | Wenn die Schemadatei schon existiert wird eine Exception geworfen. |
int glo::SchemaInterface::insertClassInfo | ( | ClassInfo * | pNewClassInfo | ) |
Fügt übergebene Klasseninformation in m_ClassInfoMap ein, wenn noch keine Klasseninformation mit gleicher Klassen-ID vorhanden.
[in] | pNewClassInfo | Die einzufügende Klasseninformation. |
bool glo::SchemaInterface::isSuperClassFrom | ( | unsigned long | ulClassIDSuperClass, |
unsigned long | ulClassIDSubClass ) const |
Prüft, ob eine Klasse eine Oberklasse einer anderen Klasse ist.
[in] | ulClassIDSuperClass | Die zu prüfende Klassen-ID der Oberklasse. |
[in] | ulClassIDSubClass | Die zu prüfende Klassen-ID der Unterklasse. |
SchemaInterface & glo::SchemaInterface::operator= | ( | const SchemaInterface & | rT | ) |
Zuweisungsoperator.
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
void glo::SchemaInterface::setDataSubDir | ( | const std::string & | rsDataSubDir | ) |
Setzt den Verzeichnisnamen, in dem die Daten zu finden sind. Die Daten liegen immer in einem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt.
[in] | rsDataSubDir | Der Verzeichnisname wie z.B. "Data". |
void glo::SchemaInterface::setDescription | ( | const std::string & | rsDescription | ) |
Setzt die Datenbank-Beschreibung.
[in] | rsDescription | Die Beschreibung. |
void glo::SchemaInterface::setSchemaFullName | ( | const std::string & | rsSchemaFullName | ) |
Setzt den vollständiger Dateinamen.
[in] | rsSchemaFullName | Vollständiger Dateiname (z.B. unter dem Betriebssystem Windows "C:/Pfad/MyGloBase.ini"). |
void glo::SchemaInterface::setSchemaID | ( | unsigned long | ulID | ) |
Setzt die Schema-ID.
[in] | ulID | Die Schema-ID. |
void glo::SchemaInterface::setSubClassInfosInAllClassInfo | ( | ) |
Es werden in allen Klasseninformationen die Unterklassen eingetragen.
void glo::SchemaInterface::setVersion | ( | unsigned long | ulVersion | ) |
Setzt die Versionsnummer.
[in] | ulVersion | Die Versionsnummer. |
bool glo::SchemaInterface::tableNameExisting | ( | const std::string & | rsTableName | ) | const |
Prüft, ob eine Tabellenbezeichnung für eine Klasseninformation im Schema schon vergeben ist.
[in] | rsTableName | Die zu prüfende Tabellenbezeichnung. |
int glo::SchemaInterface::writeSchema | ( | ) |
Schreibt die Schemadatei (m_sSchemaFullName). Es wird versucht eine evtl. schon vorhandene Datei zu überschreiben.
|
friend |
|
friend |
|
private |
Wenn true ist das SchemaInterface im Entwicklungsmodus. Es werden die Entwickler-Kommentare mit den Klassen und Attributen aus dem Schema geliefert und geschrieben. Ansonsten nicht, um das Datenaufkommen nicht aufzublasen.
|
private |
Die Menge der Klasseninformationen des jeweiligen Schemas.
|
private |
Ein interner Iterator auf die Menge der Klasseninformationen des jeweiligen Schemas.
|
private |
Nur temporär um vergebene ClassIDs festzuhalten, deren Klassen ggf. noch nicht im Schema sind.
|
private |
Die Objektdaten liegen immer in diesem Unterverzeichnis von dem Verzeichnis, in dem die Schemadatei liegt.
|
private |
Beschreibung der Datenbank.
|
private |
Der Pfad, in der die Schemadatei gespeichert ist (z.B. unter dem Betriebssystem Windows "C:/Pfad/MeineDatenbank/").
|
private |
Der vollständiger Dateiname der Schemadatei (z.B. unter dem Betriebssystem Windows "C:/Pfad/MyGloBase.ini").
|
private |
Die ID der Datenbank.
|
private |