iopc::OidObject Class Reference
[iopclib]

Provides an OID identity and all O/R mapping features to its descendants. More...

#include <oidObject.h>

Inheritance diagram for iopc::OidObject:

Inheritance graph
[legend]

List of all members.

Public Attributes

OidType oid
 The OID that identifies this object.
EString className
 className of this class descendant
SerialIdType serialId
 A timestamp used by the cache layer.

Protected Member Functions

virtual void onCreate ()
 This method is invoked after an implicit object instance is created using DbPtr<T>().


Detailed Description

Provides an OID identity and all O/R mapping features to its descendants.

OidObject guarantees an identity in form of an internally generated OID to all of its descendants. Unique OID is assigned to any instance of an OidObject descendant at its creation time (more preciesly - when the DbPtrBase::bePersistent() method is invoked) and remains unchanged during its lifetime. OidObject descendants are able to use all types of database mappings. Oid objects depend on database structures generated by the IOPC 2 library. These structures include simple or polymorphic views or an Oid - classname catalogue. The catalogue is actually a regular mapping table associated with this class. Each OID object in the database is represented by a row in the catalogue regardless of the mapping type used. The catalogue table has three columns - OID, CLASSNAME (qualified name of the class this row - OID - belongs to) and SERIALID (timestamp used by the cache layer).


Member Function Documentation

virtual void iopc::OidObject::onCreate (  )  [inline, protected, virtual]

This method is invoked after an implicit object instance is created using DbPtr<T>().

This method sould not be overriden by users.

Reimplemented from iopc::DatabaseObject.


Member Data Documentation

The OID that identifies this object.

It is initialied as soon as the DbPtrBase::bePersistent() method is called or when the object is loaded from the database.

className of this class descendant

It is initialied as soon as the database pointer DbPtr<T> is created or when the object is loaded from the database.


The documentation for this class was generated from the following files:

Generated on Tue Apr 14 16:46:51 2009 for IOPC 2 by  doxygen 1.5.6