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

DbBaseConverter Class Reference

Db objects: DbBaseConverter. More...

#include <DbBaseConverter.h>

Inheritance diagram for DbBaseConverter:

Converter DbGenericConverter DbContainerConverter DbExportConverter DbOOMsConverter DbOOMsConverter< DataObject > DbUserDataBaseCnv DbExportContCnv DbOOMsContainerConverter DbNTupleCnv DbCWNTupleCnv DbRWNTupleCnv List of all members.

Public Types

typedef dbHandle<DbDefObjectDefHandle

Public Methods

const DbTypeInfotypeInfo () const
 Access type information. More...

virtual StatusCode initialize ()
 Converter overrides: Initialize the Db converter. More...

virtual StatusCode finalize ()
 Converter overrides: Finalize the Db data converter. More...

virtual StatusCode createObj (IOpaqueAddress* pAddress, DataObject*& refpObject)
 Converter overrides: Create transient object from persistent data. More...

virtual StatusCode fillObjRefs (IOpaqueAddress* pAddress, DataObject* pObject)
 Converter overrides: Resolve the references of the created transient object. More...

virtual StatusCode updateObj (IOpaqueAddress* pAddress, DataObject* pObject)
 Converter overrides: Update transient object from persistent data. More...

virtual StatusCode updateObjRefs (IOpaqueAddress* pAddress, DataObject* pObject)
 Converter overrides: Update the references of an updated transient object. More...

virtual StatusCode createRep (DataObject* pObject, IOpaqueAddress*& refpAddress)
 Converter overrides: Convert the transient object to the requested representation. More...

virtual StatusCode fillRepRefs (IOpaqueAddress* pAddress,DataObject* pObject)
 Converter overrides: Resolve the references of the converted object. More...

virtual StatusCode updateRep (IOpaqueAddress* pAddress, DataObject* pObject)
 Converter overrides: Update the converted representation of a transient object. More...

virtual StatusCode updateRepRefs (IOpaqueAddress* pAddress, DataObject* pObject)
 Converter overrides: Update the references of an already converted object. More...

virtual StatusCode beginTransientUpdate ( DefHandle& objH, DataObject* pObject)
 Overridable callback when start updating the transient data.

virtual StatusCode endTransientUpdate ( DefHandle& objH, DataObject* pObject)
 Overridable callback when end updating the transient data.

virtual StatusCode afterTransientUpdate ( DefHandle& objH, DataObject* pObject)
 Overridable callback when persistent data were already saved.

virtual StatusCode doTransientUpdate ( DefHandle& objH, DataObject* pObject)
 Overridable callback when actually updating the transient data.

virtual StatusCode updateTransientDirectoryLinks (DefHandle& objH, DataObject* pObject)
 Add all directory like links to the transient object.

virtual StatusCode updateTransientSymbolicLinks (DefHandle& objH, DataObject* pObject)
 Update all transient symbolic links.

virtual StatusCode preparePersistentUpdate ( DefHandle& objH, const DataObject* pObject)
 Prepare persistent update for object.

virtual StatusCode beginPersistentUpdate ( DefHandle& objH, const DataObject* pObject)
 Overridable callback when start updating the persistent data.

virtual StatusCode endPersistentUpdate ( DefHandle& objH, const DataObject* pObject)
 Overridable callback when end updating the persistent data.

virtual StatusCode afterPersistentUpdate ( DefHandle& objH, const DataObject* pObject)
 Overridable callback when persistent data were already saved.

virtual StatusCode doPersistentUpdate ( DefHandle& objH, const DataObject* pObject)
 Overridable callback when actually updating the persistent data.

StatusCode addPersistentLink (IOpaqueAddress* pA, DefHandle& objH, const DataObject* pObj)
 Add persistent link reference to persistent object.

StatusCode addPersistentDirectoryLinks (DefHandle& objH, const DataObject* pObj)
 Add all directory like links to the persistent object.

StatusCode addPersistentSymbolicLinks (DefHandle& objH, const DataObject* pObj)
 Add all symbolic links to the persistent object.


Static Public Methods

unsigned char storageType ()
 Storage type identifier. More...


Protected Methods

 DbBaseConverter (const CLID& clid, IOODataBase* db, ISvcLocator* svc)
 Standard Constructor. More...

virtual ~DbBaseConverter ()
 Standard Destructor. More...

virtual const std::string containerName (IDataDirectory* pDir) const
 Retrieve the name of the container a given object is placed into. More...

virtual DataObject* createTransient ()
 Db specific implementation: Create an empty transient object: Default: DataObject. More...

virtual dbHandle<DbObjectcreatePersistent (dbHandle<DbContainer>& cntH)
 Db specific implementation: Create an empty persistent object: Default: DbPersistent. More...

virtual StatusCode doUpdateRepRefs (IOpaqueAddress* pAddress, DataObject* pObject)
 Update the references of an already converted object. More...


Protected Attributes

IOODataBasem_db
 Pointer to the database implementation. More...

const DbTypeInfom_type
 Persistent class type specific information. More...

std::string m_cnvSvcName
 Connected conversion service. More...

std::string m_persSvcName
 Name of the persistency service. More...

std::string m_dataSvcName
 Name of the data service. More...

DbDefObject::HelperServices m_helperServices
 Helpers for object conversion to be passed to helper objects. More...


Detailed Description

Db objects: DbBaseConverter.

Description: Definition of the generic Db data converter. The generic data converter provides the infrastructure of all data converters. The templated class takes two arguments: The Transient and the Persistent object type.

For a detailed description of the overridden function see the the base class.

Base class: Converter.

Dependencies:

History :

    +---------+----------------------------------------------+--------+
    |    Date |                 Comment                      | Who    |
    +---------+----------------------------------------------+--------+
    | 21/04/99| Initial version.                             | MF     |
    +---------+----------------------------------------------+--------+
    
Author: M.Frank Version: 1.0

Definition at line 61 of file DbBaseConverter.h.


Member Typedef Documentation

typedef dbHandle<DbDefObject> DbBaseConverter::DefHandle
 

Definition at line 63 of file DbBaseConverter.h.


Constructor & Destructor Documentation

DbBaseConverter::DbBaseConverter ( const CLID & clid,
IOODataBase * db,
ISvcLocator * svc ) [protected]
 

Standard Constructor.

Definition at line 34 of file DbBaseConverter.cpp.

DbBaseConverter::~DbBaseConverter ( ) [protected, virtual]
 

Standard Destructor.

Definition at line 46 of file DbBaseConverter.cpp.


Member Function Documentation

StatusCode DbBaseConverter::addPersistentDirectoryLinks ( DefHandle & objH,
const DataObject * pObj )
 

Add all directory like links to the persistent object.

Referenced by doUpdateRepRefs().

StatusCode DbBaseConverter::addPersistentLink ( IOpaqueAddress * pA,
DefHandle & objH,
const DataObject * pObj )
 

Add persistent link reference to persistent object.

StatusCode DbBaseConverter::addPersistentSymbolicLinks ( DefHandle & objH,
const DataObject * pObj )
 

Add all symbolic links to the persistent object.

Referenced by doUpdateRepRefs().

StatusCode DbBaseConverter::afterPersistentUpdate ( DefHandle & objH,
const DataObject * pObject ) [virtual]
 

Overridable callback when persistent data were already saved.

Referenced by fillRepRefs(), and updateRepRefs().

StatusCode DbBaseConverter::afterTransientUpdate ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Overridable callback when persistent data were already saved.

Referenced by updateObjRefs().

StatusCode DbBaseConverter::beginPersistentUpdate ( DefHandle & objH,
const DataObject * pObject ) [virtual]
 

Overridable callback when start updating the persistent data.

Reimplemented in DbGenericConverter.

Referenced by updateRep().

StatusCode DbBaseConverter::beginTransientUpdate ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Overridable callback when start updating the transient data.

Reimplemented in DbGenericConverter.

Referenced by updateObjRefs().

const std::string DbBaseConverter::containerName ( IDataDirectory * pDir ) const [protected, virtual]
 

Retrieve the name of the container a given object is placed into.

Reimplemented in DbUserDataBaseCnv.

Definition at line 108 of file DbBaseConverter.cpp.

Referenced by createRep().

StatusCode DbBaseConverter::createObj ( IOpaqueAddress * pAddress,
DataObject *& refpObject ) [virtual]
 

Converter overrides: Create transient object from persistent data.

Reimplemented in DbNTupleCnv.

Definition at line 119 of file DbBaseConverter.cpp.

dbHandle< DbObject > DbBaseConverter::createPersistent ( dbHandle< DbContainer >& cntH ) [protected, virtual]
 

Db specific implementation: Create an empty persistent object: Default: DbPersistent.

Reimplemented in DbGenericConverter, and DbNTupleCnv.

Definition at line 113 of file DbBaseConverter.cpp.

Referenced by createRep().

StatusCode DbBaseConverter::createRep ( DataObject * pObject,
IOpaqueAddress *& refpAddress ) [virtual]
 

Converter overrides: Convert the transient object to the requested representation.

Reimplemented in DbNTupleCnv.

Definition at line 170 of file DbBaseConverter.cpp.

Referenced by DbNTupleCnv::createRep().

DataObject * DbBaseConverter::createTransient ( ) [protected, virtual]
 

Db specific implementation: Create an empty transient object: Default: DataObject.

Reimplemented in DbOOMsContainerConverter, DbOOMsConverter, DbOOMsConverter< DataObject >, DbExportConverter, and DbExportContCnv.

Definition at line 103 of file DbBaseConverter.cpp.

Referenced by createObj().

StatusCode DbBaseConverter::doPersistentUpdate ( DefHandle & objH,
const DataObject * pObject ) [virtual]
 

Overridable callback when actually updating the persistent data.

Reimplemented in DbGenericConverter, and DbNTupleCnv.

Referenced by doUpdateRepRefs().

StatusCode DbBaseConverter::doTransientUpdate ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Overridable callback when actually updating the transient data.

Reimplemented in DbGenericConverter, and DbNTupleCnv.

Referenced by updateObjRefs().

StatusCode DbBaseConverter::doUpdateRepRefs ( IOpaqueAddress * pAddress,
DataObject * pObj ) [protected, virtual]
 

Update the references of an already converted object.

Definition at line 271 of file DbBaseConverter.cpp.

Referenced by fillRepRefs(), and updateRepRefs().

StatusCode DbBaseConverter::endPersistentUpdate ( DefHandle & objH,
const DataObject * pObject ) [virtual]
 

Overridable callback when end updating the persistent data.

Reimplemented in DbGenericConverter.

Referenced by doUpdateRepRefs().

StatusCode DbBaseConverter::endTransientUpdate ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Overridable callback when end updating the transient data.

Reimplemented in DbGenericConverter.

Referenced by updateObjRefs().

StatusCode DbBaseConverter::fillObjRefs ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Resolve the references of the created transient object.

Reimplemented in DbNTupleCnv.

Definition at line 125 of file DbBaseConverter.cpp.

StatusCode DbBaseConverter::fillRepRefs ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Resolve the references of the converted object.

Definition at line 200 of file DbBaseConverter.cpp.

StatusCode DbBaseConverter::finalize ( ) [virtual]
 

Converter overrides: Finalize the Db data converter.

Reimplemented in DbNTupleCnv.

Definition at line 96 of file DbBaseConverter.cpp.

Referenced by DbNTupleCnv::finalize().

StatusCode DbBaseConverter::initialize ( ) [virtual]
 

Converter overrides: Initialize the Db converter.

Reimplemented in DbNTupleCnv.

Definition at line 55 of file DbBaseConverter.cpp.

Referenced by DbNTupleCnv::initialize().

StatusCode DbBaseConverter::preparePersistentUpdate ( DefHandle & objH,
const DataObject * pObject ) [virtual]
 

Prepare persistent update for object.

Referenced by updateRep().

unsigned char DbBaseConverter::storageType ( ) [inline, static]
 

Storage type identifier.

Definition at line 92 of file DbBaseConverter.h.

const DbTypeInfo * DbBaseConverter::typeInfo ( ) const
 

Access type information.

Definition at line 50 of file DbBaseConverter.cpp.

StatusCode DbBaseConverter::updateObj ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Update transient object from persistent data.

Reimplemented in DbNTupleCnv.

Definition at line 130 of file DbBaseConverter.cpp.

Referenced by DbNTupleCnv::updateObj().

StatusCode DbBaseConverter::updateObjRefs ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Update the references of an updated transient object.

Reimplemented in DbNTupleCnv.

Definition at line 135 of file DbBaseConverter.cpp.

Referenced by fillObjRefs(), and DbNTupleCnv::updateObjRefs().

StatusCode DbBaseConverter::updateRep ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Update the converted representation of a transient object.

Reimplemented in DbNTupleCnv.

Definition at line 244 of file DbBaseConverter.cpp.

Referenced by DbNTupleCnv::createRep(), and createRep().

StatusCode DbBaseConverter::updateRepRefs ( IOpaqueAddress * pAddress,
DataObject * pObject ) [virtual]
 

Converter overrides: Update the references of an already converted object.

Reimplemented in DbNTupleCnv.

Definition at line 222 of file DbBaseConverter.cpp.

StatusCode DbBaseConverter::updateTransientDirectoryLinks ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Add all directory like links to the transient object.

Referenced by updateObjRefs().

StatusCode DbBaseConverter::updateTransientSymbolicLinks ( DefHandle & objH,
DataObject * pObject ) [virtual]
 

Update all transient symbolic links.

Referenced by updateObjRefs().


Member Data Documentation

std::string DbBaseConverter::m_cnvSvcName [protected]
 

Connected conversion service.

Definition at line 70 of file DbBaseConverter.h.

std::string DbBaseConverter::m_dataSvcName [protected]
 

Name of the data service.

Definition at line 74 of file DbBaseConverter.h.

IOODataBase * DbBaseConverter::m_db [protected]
 

Pointer to the database implementation.

Definition at line 66 of file DbBaseConverter.h.

DbDefObject::HelperServices DbBaseConverter::m_helperServices [protected]
 

Helpers for object conversion to be passed to helper objects.

Definition at line 76 of file DbBaseConverter.h.

std::string DbBaseConverter::m_persSvcName [protected]
 

Name of the persistency service.

Definition at line 72 of file DbBaseConverter.h.

const DbTypeInfo * DbBaseConverter::m_type [protected]
 

Persistent class type specific information.

Definition at line 68 of file DbBaseConverter.h.


The documentation for this class was generated from the following files:
Generated at Wed Nov 21 12:22:21 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000