GlobalObjects
Lade ...
Suche ...
Keine Treffer
glo::ObjID Klassenreferenz

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
 
ObjIDoperator= (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)
 

Ausführliche Beschreibung

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.

Autor
Helmut Jakoby

Beschreibung der Konstruktoren und Destruktoren

◆ ObjID() [1/4]

glo::ObjID::ObjID ( )

Standard-Konstruktor.

◆ ObjID() [2/4]

glo::ObjID::ObjID ( unsigned long ulClassID,
unsigned long ulBaseID,
unsigned long ulObjCounter )

Konstruktor mit Parameterübergabe setzt die Objekt-ID.

Parameter
[in]ulClassIDDie Klassen-ID.
[in]ulBaseIDDie Datenbank-ID.
[in]ulObjCounterDie Objektzähler.
Siehe auch

◆ ObjID() [3/4]

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:

  • Klassen-ID = 2
  • Datenbank-ID = 0
  • Objektzähler = 123.

Führende und folgende Leerzeichen werden nicht beachtet.

Parameter
[in]sObjIdKlassen-ID, Datenbank-ID und Objektzähler in einem String.
[in]sSeparatorDas Trennzeichen (default ".").
Ausnahmebehandlung
eut::ErrorNExceptionBei einem Fehler wird eine Exception geworfen.

◆ ObjID() [4/4]

glo::ObjID::ObjID ( const ObjID & rT)

Copy-Konstruktor.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ ~ObjID()

virtual glo::ObjID::~ObjID ( )
virtual

Destruktor.

Dokumentation der Elementfunktionen

◆ getBaseID()

unsigned long glo::ObjID::getBaseID ( ) const

Liefert die Datenbank-ID.

Rückgabe
s.o.
Siehe auch
m_ulBaseID

◆ getClassID()

unsigned long glo::ObjID::getClassID ( ) const

Liefert die Klassen-ID.

Rückgabe
s.o.
Siehe auch
m_ulClassID

◆ getObjCounter()

unsigned long glo::ObjID::getObjCounter ( ) const

Liefert die Objektzähler.

Rückgabe
s.o.
Siehe auch
m_ulObjCounter

◆ isNULL()

bool glo::ObjID::isNULL ( ) const

Prüft ob die Klassen-ID eine Wert hat, also gültig ist.

Rückgabe
Wenn true, dann ist die Klassen-ID == 0.

◆ IsValidObjID()

static bool glo::ObjID::IsValidObjID ( const std::string & rsObjID,
const std::string & sSeparator = "." )
static

Überprüft die übergebene Zeichenkette, ob sie eine gültige Objekt-ID darstellt.

Parameter
[in]rsObjIDReferenz auf die zu prüfende Zeichenkette.
[in]sSeparatorDas Trennzeichen (default ".").
Rückgabe
Wenn 'true', stellt die übergebene Zeichenkette eine gültige Objekt-ID dar.

◆ operator!=()

bool glo::ObjID::operator!= ( const ObjID & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator<()

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.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator<=()

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.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator=()

ObjID & glo::ObjID::operator= ( const ObjID & rT)

Zuweisungsoperator.

Parameter
[in]rTVon diesem Objekt werden die Daten übernommen.

◆ operator==()

bool glo::ObjID::operator== ( const ObjID & rT) const

Vergleichsoperator.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator>()

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.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ operator>=()

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.

Parameter
[in]rTDas mit diesem zu vergleichende Objekt.

◆ setBaseID()

void glo::ObjID::setBaseID ( unsigned long ulBaseID)

Setzt die Datenbank-ID.

Parameter
[in]ulBaseIDDie Datenbank-ID.
Siehe auch
m_ulBaseID

◆ setClassID()

void glo::ObjID::setClassID ( unsigned long ulClassID)

Setzt die Klassen-ID.

Parameter
[in]ulClassIDDie Klassen-ID.
Siehe auch
m_ulClassID

◆ setID() [1/2]

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:

  • Klassen-ID = 2
  • Datenbank-ID = 0
  • Objektzähler = 123.

Führende und folgende Leerzeichen werden nicht beachtet.

Parameter
[in]sObjIdKlassen-ID, Datenbank-ID und Objektzähler in einem String.
[in]sSeparatorDas Trennzeichen (default ".").
Rückgabe
Eine Rückgabe < 0 zeigt einen Fehler an.

◆ setID() [2/2]

void glo::ObjID::setID ( unsigned long ulClassID,
unsigned long ulBaseID,
unsigned long ulObjCounter )

Setzt die Objekt-ID.

Parameter
[in]ulClassIDDie Klassen-ID.
[in]ulBaseIDDie Datenbank-ID.
[in]ulObjCounterDie Objektzähler.
Siehe auch

◆ setNULL()

void glo::ObjID::setNULL ( )

Setzt alle Attribute auf 0.

◆ setObjCounter()

void glo::ObjID::setObjCounter ( unsigned long ulObjCounter)

Setzt die Objektzähler.

Parameter
[in]ulObjCounterDie Objektzähler.
Siehe auch
m_ulObjCounter

◆ toString()

std::string glo::ObjID::toString ( ) const

Liefert die Objekt-ID in einem String. Der Trenner ist der Defaultwert ".".

Rückgabe
Die Objekt-ID in einem String.

Freunde und bezugnehmende Symbol-Dokumentation

◆ operator<<

std::ostream & operator<< ( std::ostream & rOStream,
const ObjID & rObjID )
friend

◆ operator>>

std::istream & operator>> ( std::istream & rIStream,
ObjID & rObjID )
friend

Dokumentation der Datenelemente

◆ m_ulBaseID

unsigned long glo::ObjID::m_ulBaseID
private

Die Datenbank-ID.

Zu beachten
Um Applikationen schreiben zu können, die ihre Daten auf verschiedenen GloServer-Instanzen verwaltet, ist es unabdingbar, dass jede Datenbank eine eindeutige ID hat, um eine eindeutige Objekt-ID zu erhalten.

◆ m_ulClassID

unsigned long glo::ObjID::m_ulClassID
private

Die Klassen-ID.

◆ m_ulObjCounter

unsigned long glo::ObjID::m_ulObjCounter
private

Der Objektzähler.


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