GlobalObjects
|
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZahl (jeweils unsigned long). Mehr ...
#include <GloObjID.h>
Klassen | |
struct | HashFunction |
Öffentliche Methoden | |
ObjID () | |
ObjID (const ObjID &rT) | |
ObjID (const std::string &sObjId, const std::string &sSeparator=".") | |
ObjID (unsigned long ulClassID, unsigned long ulBaseID, unsigned long ulObjCounter) | |
virtual | ~ObjID () |
unsigned long | getBaseID () const |
unsigned long | getClassID () const |
unsigned long | getObjCounter () const |
bool | isNULL () const |
ObjID & | operator= (const ObjID &rT) |
void | setBaseID (unsigned long ulBaseID) |
void | setClassID (unsigned long ulClassID) |
int | setID (const std::string &sObjId, const std::string &sSeparator=".") |
void | setID (unsigned long ulClassID, unsigned long ulBaseID, unsigned long ulObjCounter) |
void | setNULL () |
void | setObjCounter (unsigned long ulObjCounter) |
std::string | toString () const |
bool | operator== (const ObjID &rT) const |
Vergleichsoperator. | |
bool | operator!= (const ObjID &rT) const |
Vergleichsoperator. | |
bool | operator> (const ObjID &rT) const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen. | |
bool | operator>= (const ObjID &rT) const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen. | |
bool | operator< (const ObjID &rT) const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen. | |
bool | operator<= (const ObjID &rT) const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen. | |
Öffentliche, statische Methoden | |
static bool | IsValidObjID (const std::string &rsObjID, const std::string &sSeparator=".") |
Private Attribute | |
unsigned long | m_ulBaseID |
unsigned long | m_ulClassID |
unsigned long | m_ulObjCounter |
Freundbeziehungen | |
std::ostream & | operator<< (std::ostream &rOStream, const ObjID &rObjID) |
std::istream & | operator>> (std::istream &rIStream, ObjID &rObjID) |
Ein Objekt-ID besteht aus der Klassen-ID, einer Datenbank-ID und der eigentlichen eindeutigen ObjektZahl (jeweils unsigned long).
Jedes persistente Objekt bekommt eine Objekt-ID und ist somit eindeutig in der Datenbank identifizierbar. Eine Objekt-ID wird von GlobalObjects bei der Anmeldung eines persistenten Objekts in der Datenbank vergeben. Eine Objekt-ID ist einmalig und wird, wenn ein persistenten Objekt gelöscht wird, nicht wiederverwendet.
Referenzierungen in der Datenbank werden mittels der Objekt-ID vorgenommen.
glo::ObjID::ObjID | ( | ) |
Standard-Konstruktor.
glo::ObjID::ObjID | ( | unsigned long | ulClassID, |
unsigned long | ulBaseID, | ||
unsigned long | ulObjCounter ) |
Konstruktor mit Parameterübergabe setzt die Objekt-ID.
[in] | ulClassID | Die Klassen-ID. |
[in] | ulBaseID | Die Datenbank-ID. |
[in] | ulObjCounter | Die Objektzähler. |
glo::ObjID::ObjID | ( | const std::string & | sObjId, |
const std::string & | sSeparator = "." ) |
Konstruktor mit Parameterübergabe.
Übernimmt die Klassen-ID, Datenbank-ID und Objektzähler aus einem String.
Wenn dieser z.B. in folgender Form vorliegen: "2.0.123" resultiert daraus:
Führende und folgende Leerzeichen werden nicht beachtet.
[in] | sObjId | Klassen-ID, Datenbank-ID und Objektzähler in einem String. |
[in] | sSeparator | Das Trennzeichen (default "."). |
eut::ErrorNException | Bei einem Fehler wird eine Exception geworfen. |
glo::ObjID::ObjID | ( | const ObjID & | rT | ) |
Copy-Konstruktor.
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
|
virtual |
Destruktor.
unsigned long glo::ObjID::getBaseID | ( | ) | const |
unsigned long glo::ObjID::getClassID | ( | ) | const |
unsigned long glo::ObjID::getObjCounter | ( | ) | const |
bool glo::ObjID::isNULL | ( | ) | const |
Prüft ob die Klassen-ID eine Wert hat, also gültig ist.
|
static |
Überprüft die übergebene Zeichenkette, ob sie eine gültige Objekt-ID darstellt.
[in] | rsObjID | Referenz auf die zu prüfende Zeichenkette. |
[in] | sSeparator | Das Trennzeichen (default "."). |
bool glo::ObjID::operator!= | ( | const ObjID & | rT | ) | const |
Vergleichsoperator.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
bool glo::ObjID::operator< | ( | const ObjID & | rT | ) | const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen.
Die ObjID 999.1.1 ist größer als 888.999.999.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
bool glo::ObjID::operator<= | ( | const ObjID & | rT | ) | const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen.
Die ObjID 999.1.1 ist größer als 888.999.999.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
Zuweisungsoperator.
[in] | rT | Von diesem Objekt werden die Daten übernommen. |
bool glo::ObjID::operator== | ( | const ObjID & | rT | ) | const |
Vergleichsoperator.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
bool glo::ObjID::operator> | ( | const ObjID & | rT | ) | const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen.
Die ObjID 999.1.1 ist größer als 888.999.999.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
bool glo::ObjID::operator>= | ( | const ObjID & | rT | ) | const |
Der Größenvergleich wird von der m_ulClassID über die m_ulBaseID zur m_ulObjCounter in Reihenfolge vorgeneommen.
Die ObjID 999.1.1 ist größer als 888.999.999.
[in] | rT | Das mit diesem zu vergleichende Objekt. |
void glo::ObjID::setBaseID | ( | unsigned long | ulBaseID | ) |
void glo::ObjID::setClassID | ( | unsigned long | ulClassID | ) |
int glo::ObjID::setID | ( | const std::string & | sObjId, |
const std::string & | sSeparator = "." ) |
Übernimmt die Klassen-ID, Datenbank-ID und Objektzähler aus einem String.
Wenn dieser z.B. in folgender Form vorliegen: "2.0.123" resultiert daraus:
Führende und folgende Leerzeichen werden nicht beachtet.
[in] | sObjId | Klassen-ID, Datenbank-ID und Objektzähler in einem String. |
[in] | sSeparator | Das Trennzeichen (default "."). |
void glo::ObjID::setID | ( | unsigned long | ulClassID, |
unsigned long | ulBaseID, | ||
unsigned long | ulObjCounter ) |
Setzt die Objekt-ID.
[in] | ulClassID | Die Klassen-ID. |
[in] | ulBaseID | Die Datenbank-ID. |
[in] | ulObjCounter | Die Objektzähler. |
void glo::ObjID::setNULL | ( | ) |
Setzt alle Attribute auf 0.
void glo::ObjID::setObjCounter | ( | unsigned long | ulObjCounter | ) |
std::string glo::ObjID::toString | ( | ) | const |
Liefert die Objekt-ID in einem String. Der Trenner ist der Defaultwert ".".
|
friend |
|
friend |
|
private |
|
private |
Die Klassen-ID.
|
private |
Der Objektzähler.