BankAndCustomer
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 (unsigned long ulClassID, unsigned long ulBaseID, unsigned long ulObjCounter)
 
 ObjID (const std::string &sObjId, const std::string &sSeparator=".")
 
 ObjID (const ObjID &rT)
 
virtual ~ObjID ()
 
bool isNULL () const
 
void setNULL ()
 
void setID (unsigned long ulClassID, unsigned long ulBaseID, unsigned long ulObjCounter)
 
int setID (const std::string &sObjId, const std::string &sSeparator=".")
 
void setClassID (unsigned long ulClassID)
 
void setBaseID (unsigned long ulBaseID)
 
void setObjCounter (unsigned long ulObjCounter)
 
unsigned long getClassID () const
 
unsigned long getBaseID () const
 
unsigned long getObjCounter () const
 
std::string toString () const
 
ObjIDoperator= (const ObjID &rT)
 
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_ulClassID
 
unsigned long m_ulBaseID
 
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: