Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

PersistentObject Class Reference

#include <cPersistentObject.h>

Inheritance diagram for PersistentObject:

Inheritance graph
[legend]
Collaboration diagram for PersistentObject:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual bool Update ()
 PersistentObject ()
 ~PersistentObject ()
 ABSTRACT_CLASS (PersistentObject)
 FROM (PERSISTENT_OBJECT_TABLE)
 dbLongRO (OID)
 dbLongRO (SerialNumber)
MAPKEY_BEGIN mapLong (OID, PERSISTENT_OBJECT_TABLE".OID") MAPKEY_END
MAP_BEGIN mapLong (SerialNumber, PERSISTENT_OBJECT_TABLE".VERSION") MAP_END
virtual RefBase BePersistent (class Connection *DbCon)
 ABSTRACT_CLASS (DatabaseObject)
 ABSTRACT_CLASS (ImmutableObject)
 ABSTRACT_CLASS (Object)
virtual bool IsDirty () const
virtual bool MarkAsDirty ()
 PARENTS (NULL)
 FROM ("")
 WHERE ("")
 GROUP_BY ("")
 HAVING ("")
 ORDER_BY ("")
virtual bool IsTransient () const
virtual bool IsPersistent () const
virtual ObjectMemoryLock ()
virtual bool MemoryUnlock ()
virtual unsigned int MemoryLocked () const
virtual bool RemoveAllMemoryLocks ()
virtual class ObjectIsInMemory () const
virtual class ObjectIdentification ObjectID () const
virtual bool PostLoad ()
virtual bool Refresh ()
virtual bool Free ()
virtual bool Delete ()
virtual class RefBase Address () const
virtual class Connection * Connection () const
virtual class ProtoBasePrototype () const=0
virtual enum UpdatingStrategy CurrentUpdatingStrategy () const
virtual bool SetUpdatingStrategy (enum UpdatingStrategy anUpdateStrategy)
virtual enum WaitingStrategy CurrentWaitingStrategy () const
virtual bool SetWaitingStrategy (enum WaitingStrategy aWaitingStrategy)
virtual enum LockingStrategy CurrentLockingStrategy () const
virtual bool SetLockingStrategy (enum LockingStrategy aLockingStrategy)
virtual enum ReadingStrategy CurrentReadingStrategy () const
virtual bool SetReadingStrategy (enum ReadingStrategy aReadingStrategy)
virtual bool IsAncestor (const ObjRef &descendant) const
Query operator () const
Query operator (const QueRefProto &Q) const

Static Public Methods

const char * RootClassName ()
const char * BaseClassName ()

Public Attributes

MAPKEY_BEGIN MAPKEY_END
MAP_BEGIN MAP_END
Query operator &&const QueRefProto
&Q 
const

Protected Methods

virtual bool _VersionsMatch ()
virtual bool _MarkAsClean ()
virtual bool _Free ()
virtual char * _KeyValues () const
virtual bool _Refresh ()
virtual class RefBase _Virtualise (RefBase &DbPtr) const
virtual const char * _SelectKeyValues (const RefBase &DbPtr) const
long int _PtrToOid (const ObjRef &ref) const
RefBase _OidToPtr (const long int oid, class ProtoBase *prot) const
Object_OidToMemPtr (const long int oid, class ProtoBase *prot) const
virtual char * _Where () const
virtual char * _OrderBy () const
virtual char * _Select () const
virtual char * _From () const

Protected Attributes

bool _DirtyFlag
unsigned int _MemoryLocks
bool _FreeWasDone
bool _ForUpdate
unsigned short _Strategies
Connection_Connection

Friends

class ResultBase
class ProtoBase

Constructor & Destructor Documentation

PersistentObject::PersistentObject  
 

Definition at line 42 of file cPersistentObject.cpp.

PersistentObject::~PersistentObject  
 

Definition at line 66 of file cPersistentObject.cpp.

References Object::_Free().


Member Function Documentation

bool Object::_Free   [protected, virtual, inherited]
 

Implements ObjRef.

Definition at line 83 of file cObject.cpp.

Referenced by RefBase::_Free(), Object::~Object(), and ~PersistentObject().

virtual char* QueRefProto::_From   const [inline, protected, virtual, inherited]
 

Reimplemented in ComplexQuery.

Definition at line 51 of file cQueRefProto.h.

Referenced by ProtoBase::_StmtSelectPtr().

virtual char* Object::_KeyValues   const [inline, protected, virtual, inherited]
 

Implements ObjRef.

Definition at line 126 of file cObject.h.

References ProtoBase::_KeyValues(), and ObjRef::Prototype().

Referenced by Object::Address(), and Object::ObjectID().

virtual bool DatabaseObject::_MarkAsClean   [inline, protected, virtual, inherited]
 

Reimplemented from Object.

Definition at line 70 of file cDatabaseObject.h.

class Object* ObjRef::_OidToMemPtr const long int    oid,
class ProtoBase   prot
const [protected, inherited]
 

class RefBase ObjRef::_OidToPtr const long int    oid,
class ProtoBase   prot
const [protected, inherited]
 

virtual char* ObjRef::_OrderBy   const [inline, protected, virtual, inherited]
 

Implements QueRefProto.

Definition at line 212 of file cObjRef.h.

long int ObjRef::_PtrToOid const ObjRef   ref const [protected, inherited]
 

bool Object::_Refresh   [protected, virtual, inherited]
 

Definition at line 191 of file cObject.cpp.

References ProtoBase::_ExportKeyAttributes(), Object::_ForUpdate, Object::_VersionsMatch(), ObjRef::CurrentLockingStrategy(), ObjRef::CurrentReadingStrategy(), ProtoBase::IsObject(), Object::IsTransient(), LS_Exclusive, ObjRef::Prototype(), RS_Database, and RS_Timestamp.

virtual char* QueRefProto::_Select   const [inline, protected, virtual, inherited]
 

Reimplemented in ComplexQuery.

Definition at line 49 of file cQueRefProto.h.

Referenced by ProtoBase::_StmtSelectPtr().

virtual const char* Object::_SelectKeyValues const RefBase   DbPtr const [inline, protected, virtual, inherited]
 

Definition at line 224 of file cObject.h.

References RefBase::_ObjectIdentification, and ObjectIdentification::_SelectKeyValues.

bool PersistentObject::_VersionsMatch   [protected, virtual]
 

Reimplemented from Object.

Definition at line 148 of file cPersistentObject.cpp.

References Connection::_Close(), ObjRef::_Connection, Connection::_Execute(), Connection::_FetchNext(), Connection::_Open(), Connection::_PreFetchBind(), Connection::_Prepare(), ImmutableObject::IsTransient(), LongToStr(), PERSISTENT_OBJECT_TABLE, StrCat(), StrFree(), and TYPE_INT.

virtual class RefBase Object::_Virtualise RefBase   DbPtr const [inline, protected, virtual, inherited]
 

Definition at line 217 of file cObject.h.

References RefBase::_Virtualise().

char * ObjRef::_Where   const [protected, virtual, inherited]
 

Implements QueRefProto.

Definition at line 62 of file cObjRef.cpp.

References StrCat(), StrCpy(), StrDecode(), StrFree(), and StrSplit().

Object::ABSTRACT_CLASS Object    [inherited]
 

ImmutableObject::ABSTRACT_CLASS ImmutableObject    [inherited]
 

DatabaseObject::ABSTRACT_CLASS DatabaseObject    [inherited]
 

PersistentObject::ABSTRACT_CLASS PersistentObject   
 

RefBase Object::Address   const [virtual, inherited]
 

Definition at line 258 of file cObject.cpp.

References Object::_KeyValues(), ObjRef::_Strategies, ObjRef::Connection(), Object::IsPersistent(), ObjRef::Prototype(), and Object::RefBase.

const char* PersistentObject::BaseClassName   [inline, static]
 

Reimplemented from DatabaseObject.

Definition at line 47 of file cPersistentObject.h.

class RefBase PersistentObject::BePersistent class Connection   DbCon [virtual]
 

Reimplemented from DatabaseObject.

Definition at line 89 of file cPersistentObject.cpp.

References DatabaseObject::BePersistent(), and ObjRef::IsPersistent().

virtual class Connection* ObjRef::Connection   const [inline, virtual, inherited]
 

Definition at line 80 of file cObjRef.h.

Referenced by RefBase::_Virtualise(), Object::Address(), RefBase::IsInMemory(), and Update().

virtual enum LockingStrategy ObjRef::CurrentLockingStrategy   const [inline, virtual, inherited]
 

Definition at line 199 of file cObjRef.h.

References LockingStrategy, and LS_MASK.

Referenced by Object::_Refresh().

virtual enum ReadingStrategy ObjRef::CurrentReadingStrategy   const [inline, virtual, inherited]
 

Definition at line 204 of file cObjRef.h.

References ReadingStrategy, and RS_MASK.

Referenced by Object::_Refresh().

virtual enum UpdatingStrategy ObjRef::CurrentUpdatingStrategy   const [inline, virtual, inherited]
 

Definition at line 188 of file cObjRef.h.

References UpdatingStrategy, and US_MASK.

virtual enum WaitingStrategy ObjRef::CurrentWaitingStrategy   const [inline, virtual, inherited]
 

Definition at line 194 of file cObjRef.h.

References WaitingStrategy, and WS_MASK.

PersistentObject::dbLongRO SerialNumber   
 

PersistentObject::dbLongRO OID   
 

bool Object::Delete   [virtual, inherited]
 

Implements ObjRef.

Definition at line 106 of file cObject.cpp.

References ProtoBase::_DeleteAll(), ProtoBase::_ExportKeyAttributes(), Object::_MarkAsClean(), Object::Free(), Object::IsPersistent(), Object::MemoryLocked(), and ObjRef::Prototype().

bool Object::Free   [virtual, inherited]
 

Implements ObjRef.

Definition at line 73 of file cObject.cpp.

Referenced by Object::Delete(), and RefBase::Free().

ImmutableObject::FROM ""    [inherited]
 

Reimplemented from Object.

PersistentObject::FROM PERSISTENT_OBJECT_TABLE   
 

ImmutableObject::GROUP_BY ""    [inherited]
 

Reimplemented from Object.

ImmutableObject::HAVING ""    [inherited]
 

Reimplemented from Object.

bool ObjRef::IsAncestor const ObjRef   descendant const [virtual, inherited]
 

Definition at line 86 of file cObjRef.cpp.

virtual bool DatabaseObject::IsDirty   const [inline, virtual, inherited]
 

Reimplemented from Object.

Definition at line 55 of file cDatabaseObject.h.

Referenced by Update().

virtual class Object* Object::IsInMemory   const [inline, virtual, inherited]
 

Implements ObjRef.

Definition at line 85 of file cObject.h.

virtual bool ImmutableObject::IsPersistent   const [inline, virtual, inherited]
 

Reimplemented from Object.

Definition at line 66 of file cImmutableObject.h.

Referenced by Update().

virtual bool ImmutableObject::IsTransient   const [inline, virtual, inherited]
 

Reimplemented from Object.

Definition at line 59 of file cImmutableObject.h.

Referenced by _VersionsMatch(), ImmutableObject::MemoryLock(), and ImmutableObject::MemoryUnlock().

MAP_BEGIN PersistentObject::mapLong SerialNumber   ,
PERSISTENT_OBJECT_TABLE".VERSION"   
 

MAPKEY_BEGIN PersistentObject::mapLong OID   ,
PERSISTENT_OBJECT_TABLE".OID"   
 

virtual bool DatabaseObject::MarkAsDirty   [inline, virtual, inherited]
 

Reimplemented from Object.

Definition at line 62 of file cDatabaseObject.h.

Object * ImmutableObject::MemoryLock   [virtual, inherited]
 

Reimplemented from Object.

Definition at line 42 of file cImmutableObject.cpp.

References ImmutableObject::_MemoryLocks, and ImmutableObject::IsTransient().

unsigned int ImmutableObject::MemoryLocked   const [virtual, inherited]
 

Reimplemented from Object.

Definition at line 101 of file cImmutableObject.cpp.

References ImmutableObject::_MemoryLocks.

bool ImmutableObject::MemoryUnlock   [virtual, inherited]
 

Reimplemented from Object.

Definition at line 71 of file cImmutableObject.cpp.

References ImmutableObject::_MemoryLocks, and ImmutableObject::IsTransient().

ObjectIdentification Object::ObjectID   const [virtual, inherited]
 

Implements ObjRef.

Definition at line 242 of file cObject.cpp.

References Object::_KeyValues(), Object::IsTransient(), and ObjRef::Prototype().

class Query QueRefProto::operator const QueRefProto   Q const [inherited]
 

class Query QueRefProto::operator   const [inherited]
 

ImmutableObject::ORDER_BY ""    [inherited]
 

Reimplemented from Object.

ImmutableObject::PARENTS NULL    [inherited]
 

Reimplemented from Object.

virtual bool Object::PostLoad   [inline, virtual, inherited]
 

Definition at line 104 of file cObject.h.

virtual class ProtoBase* ObjRef::Prototype   const [pure virtual, inherited]
 

Implemented in RefBase.

Referenced by Object::_KeyValues(), Object::_Refresh(), Object::Address(), Object::Delete(), Object::ObjectID(), Object::Refresh(), and Object::Update().

bool Object::Refresh   [virtual, inherited]
 

Implements ObjRef.

Definition at line 160 of file cObject.cpp.

References ProtoBase::_ExportKeyAttributes(), Object::IsTransient(), and ObjRef::Prototype().

Referenced by RefBase::Refresh().

bool ImmutableObject::RemoveAllMemoryLocks   [virtual, inherited]
 

Reimplemented from ObjRef.

Definition at line 110 of file cImmutableObject.cpp.

const char* PersistentObject::RootClassName   [inline, static]
 

Reimplemented from ImmutableObject.

Definition at line 46 of file cPersistentObject.h.

bool ObjRef::SetLockingStrategy enum LockingStrategy    aLockingStrategy [virtual, inherited]
 

Definition at line 195 of file cObjRef.cpp.

References ObjRef::_Connection, ObjRef::_Strategies, Connection::CurrentLockingStrategy(), DEFAULT_LOCKING_STRATEGY, LockingStrategy, LS_Current, LS_Default, LS_Inherited, and LS_MASK.

Referenced by DatabaseObject::DatabaseObject().

bool ObjRef::SetReadingStrategy enum ReadingStrategy    aReadingStrategy [virtual, inherited]
 

Definition at line 218 of file cObjRef.cpp.

References ObjRef::_Connection, ObjRef::_Strategies, Connection::CurrentReadingStrategy(), DEFAULT_READING_STRATEGY, ReadingStrategy, RS_Current, RS_Default, RS_Inherited, and RS_MASK.

bool ObjRef::SetUpdatingStrategy enum UpdatingStrategy    anUpdateStrategy [virtual, inherited]
 

Definition at line 149 of file cObjRef.cpp.

References ObjRef::_Connection, ObjRef::_Strategies, Connection::CurrentUpdatingStrategy(), DEFAULT_UPDATING_STRATEGY, UpdatingStrategy, US_Current, US_Default, US_Inherited, and US_MASK.

Referenced by DatabaseObject::DatabaseObject().

bool ObjRef::SetWaitingStrategy enum WaitingStrategy    aWaitingStrategy [virtual, inherited]
 

Definition at line 172 of file cObjRef.cpp.

References ObjRef::_Connection, ObjRef::_Strategies, Connection::CurrentWaitingStrategy(), DEFAULT_WAITING_STRATEGY, WaitingStrategy, WS_Current, WS_Default, WS_Inherited, and WS_MASK.

Referenced by DatabaseObject::DatabaseObject().

bool PersistentObject::Update   [virtual]
 

Reimplemented from Object.

Definition at line 117 of file cPersistentObject.cpp.

References Connection::_NextSN(), ObjRef::Connection(), DatabaseObject::IsDirty(), ImmutableObject::IsPersistent(), and Object::Update().

ImmutableObject::WHERE ""    [inherited]
 

Reimplemented from Object.


Friends And Related Function Documentation

friend class ProtoBase [friend]
 

Reimplemented from Object.

Definition at line 28 of file cPersistentObject.h.

friend class ResultBase [friend]
 

Definition at line 27 of file cPersistentObject.h.


Member Data Documentation

class Connection* ObjRef::_Connection [protected, inherited]
 

Definition at line 54 of file cObjRef.h.

Referenced by _VersionsMatch(), DatabaseObject::BePersistent(), RefBase::Init(), ResultBase::Next(), ObjRef::ObjRef(), ResultBase::operator!=(), RefBase::operator!=(), ResultBase::operator==(), RefBase::operator==(), RefBase::RefBase(), ObjRef::SetLockingStrategy(), ObjRef::SetReadingStrategy(), ObjRef::SetUpdatingStrategy(), and ObjRef::SetWaitingStrategy().

bool DatabaseObject::_DirtyFlag [protected, inherited]
 

Definition at line 28 of file cDatabaseObject.h.

Referenced by DatabaseObject::DatabaseObject().

bool Object::_ForUpdate [protected, inherited]
 

Definition at line 47 of file cObject.h.

Referenced by Object::_Refresh(), Object::Object(), and ObjectBuffer::UpdateConnection().

bool Object::_FreeWasDone [protected, inherited]
 

Definition at line 45 of file cObject.h.

Referenced by ObjectBuffer::_GarbageCollector(), ObjectBuffer::_RemoveConnection(), Object::Object(), and ObjectBuffer::RemoveConnection().

unsigned int ImmutableObject::_MemoryLocks [protected, inherited]
 

Definition at line 28 of file cImmutableObject.h.

Referenced by DatabaseObject::DatabaseObject(), ImmutableObject::MemoryLock(), ImmutableObject::MemoryLocked(), and ImmutableObject::MemoryUnlock().

unsigned short ObjRef::_Strategies [protected, inherited]
 

Definition at line 52 of file cObjRef.h.

Referenced by Object::Address(), ObjRef::ObjRef(), RefBase::RefBase(), ObjRef::SetLockingStrategy(), ObjRef::SetReadingStrategy(), ObjRef::SetUpdatingStrategy(), and ObjRef::SetWaitingStrategy().

class Query operator&& const QueRefProto& Q QueRefProto::const [inherited]
 

Definition at line 44 of file cQueRefProto.h.

MAP_BEGIN ImmutableObject::MAP_END [inherited]
 

Reimplemented from Object.

Definition at line 56 of file cImmutableObject.h.

MAPKEY_BEGIN ImmutableObject::MAPKEY_END [inherited]
 

Reimplemented from Object.

Definition at line 54 of file cImmutableObject.h.


The documentation for this class was generated from the following files:
Generated on Sun Jul 14 20:53:24 2002 for POLiTe by doxygen1.2.16