Bdb packages | Design docs | Source docs | Guidelines | Recent releases

Search | Site Map .

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

BdbAbsScribe< T, P, I > Class Template Reference
[BdbScribes]

#include <BdbAbsScribe.hh>

Inheritance diagram for BdbAbsScribe< T, P, I >:

BdbGenericScribe List of all members.

Public Methods

 BdbAbsScribe (const BdbAbsTransientPushPull< T > *aTransientPushPull, const BdbAbsPersistentPushPull< P, I > *aPersistentPushPull, const BdbAbsSupplier< T, P, I > *aSupplier)
virtual ~BdbAbsScribe ()
virtual bool fillRefs ()
virtual bool fillPointers ()
virtual bool isBulk (const BdbAbsPlacementManager &aPlacementManager) const
virtual void reset ()

Protected Methods

virtual bool createPersistent (const AbsEvent &aTEvent, const BdbAbsPlacementManager &aPlacementManager, BdbEventT &aPEvent, BdbEvtObjLocReg &aRegistry)
virtual bool createTransient (const BdbEventT &aPEvent, AbsEvent &aTEvent, BdbEvtObjLocReg &aRegistry)
const BdbAbsTransientPushPull<
T > * 
transientPushPull () const
const BdbAbsPersistentPushPull<
P, I > * 
persistentPushPull () const

Private Methods

 BdbAbsScribe ()
 BdbAbsScribe (const BdbAbsScribe< T, P, I > &aRhs)
const BdbAbsScribe< T, P,
I > & 
operator= (const BdbAbsScribe< T, P, I > &aRhs)
 BdbHandle (P)*_persistentCache
 BdbHandle (I)*_interfaceCache

Private Attributes

const BdbAbsTransientPushPull<
T > * 
_transientPushPull
const BdbAbsPersistentPushPull<
P, I > * 
_persistentPushPull
const BdbAbsSupplier< T, P,
I > * 
_supplier
const T * _pulledTransientCache
T * _pushedTransientCache
bool _alreadyLoaded
BdbEvtObjLocReg_outputRegistryCache
BdbEvtObjLocReg_inputRegistryCache

Detailed Description

template<class T, class P, class I>
class BdbAbsScribe< T, P, I >

This templated class implements the BdbGenericScribe interface for transient representations of type T, which can be converted to persistent representations of type P, and retrieved from the federation using the interface of type I.

Definition at line 68 of file BdbAbsScribe.hh.


Constructor & Destructor Documentation

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::BdbAbsScribe const BdbAbsTransientPushPull< T > *    aTransientPushPull,
const BdbAbsPersistentPushPull< P, I > *    aPersistentPushPull,
const BdbAbsSupplier< T, P, I > *    aSupplier
 

Constructs an instanace of this class.

Parameters:
aKey  the key necessary to place or find the transient object in the the transient Event.
aTree  the name of the tree header in which to place the persistent object.
aPlacement  the name of the placement policy to use when creating the persistent object.
aStrategy  the strategy object to use to do the convertion.

Definition at line 72 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::~BdbAbsScribe   [virtual]
 

Destroys this instance.

Definition at line 98 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_persistentPushPull, BdbAbsScribe< T, P, I >::_supplier, and BdbAbsScribe< T, P, I >::_transientPushPull.

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::BdbAbsScribe   [private]
 

stops default

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::BdbAbsScribe const BdbAbsScribe< T, P, I > &    aRhs [private]
 

stops default


Member Function Documentation

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::BdbHandle   [private]
 

cache for interface object between "createTransient" and "fill"

template<class T, class P, class I>
BdbAbsScribe< T, P, I >::BdbHandle   [private]
 

cache for persistent object between "createPersistent" and "fill"

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), and BdbAbsScribe< T, P, I >::createTransient().

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::createPersistent const AbsEvent   aTEvent,
const BdbAbsPlacementManager   aPlacementManager,
BdbEventT   aPEvent,
BdbEvtObjLocReg   aRegistry
[protected, virtual]
 

Create the persistent object which corresponds to the one returned by the TransisentPushPull instance associated with this object.

Parameters:
aTEvent  the transient holding the transient object.
aPlacementManager  the manager to use when creating the persistent object
aPEvent  the persistent event in which to place the persistent object.
aRegistry  the mpping between transient and persistent objects.
Returns:
true if successful convertion, false otherwise.

Implements BdbGenericScribe.

Definition at line 128 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_outputRegistryCache, BdbAbsScribe< T, P, I >::_persistentPushPull, BdbAbsScribe< T, P, I >::_pulledTransientCache, BdbAbsScribe< T, P, I >::_supplier, BdbAbsScribe< T, P, I >::_transientPushPull, BdbAbsScribe< T, P, I >::BdbHandle(), BdbGenericScribe::missingTransient(), and BdbGenericScribe::numberTransientsMissed().

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::createTransient const BdbEventT   aPEvent,
AbsEvent   aTEvent,
BdbEvtObjLocReg   aRegistry
[protected, virtual]
 

Create the transient object which corresponds to the one returned by the PersistentPushPull instance associated with this object.

Parameters:
aPEvent  the persistent event in which to place the persistent object.
aTEvent  the transient holding the transient object.
aRegistry  the mapping between transient and persistent objects.
Returns:
true if successful convertion, false otherwise.

Implements BdbGenericScribe.

Reimplemented in BdbAbsNestedScribe< T, P >, and BdbAbsNestedScribe< HepAList< T >, P >.

Definition at line 191 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_alreadyLoaded, BdbAbsScribe< T, P, I >::_inputRegistryCache, BdbAbsScribe< T, P, I >::_persistentPushPull, BdbAbsScribe< T, P, I >::_pushedTransientCache, BdbAbsScribe< T, P, I >::_supplier, BdbAbsScribe< T, P, I >::_transientPushPull, BdbAbsScribe< T, P, I >::BdbHandle(), BdbGenericScribe::missingPersistent(), and BdbGenericScribe::numberPersistentsMissed().

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::fillPointers   [virtual]
 

Fill the associations in the transient object which was created by the most recent `createTransient'

Implements BdbGenericScribe.

Definition at line 251 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_inputRegistryCache, BdbAbsScribe< T, P, I >::_pushedTransientCache, and BdbAbsScribe< T, P, I >::_supplier.

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::fillRefs   [virtual]
 

Fill the associations in the persistent object which was created by the most recent `createPersistent'

Implements BdbGenericScribe.

Definition at line 176 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_outputRegistryCache, BdbAbsScribe< T, P, I >::_pulledTransientCache, and BdbAbsScribe< T, P, I >::_supplier.

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::isBulk const BdbAbsPlacementManager   aPlacementManager const [virtual]
 

Is this scribe writing to the bulk?

Implements BdbGenericScribe.

Definition at line 272 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_supplier.

template<class T, class P, class I>
const BdbAbsScribe< T , P , I >& BdbAbsScribe< T, P, I >::operator= const BdbAbsScribe< T, P, I > &    aRhs [private]
 

stops default

template<class T, class P, class I>
const BdbAbsPersistentPushPull< P , I >* BdbAbsScribe< T, P, I >::persistentPushPull   const [inline, protected]
 

Definition at line 167 of file BdbAbsScribe.hh.

template<class T, class P, class I>
void BdbAbsScribe< T, P, I >::reset   [virtual]
 

Returns this instance back ino the state in which it was created.

Reimplemented from BdbGenericScribe.

Definition at line 279 of file BdbAbsScribe.cc.

References BdbAbsScribe< T, P, I >::_alreadyLoaded, BdbAbsScribe< T, P, I >::_inputRegistryCache, BdbAbsScribe< T, P, I >::_outputRegistryCache, BdbAbsScribe< T, P, I >::_persistentPushPull, BdbAbsScribe< T, P, I >::_pulledTransientCache, BdbAbsScribe< T, P, I >::_pushedTransientCache, BdbAbsScribe< T, P, I >::_supplier, BdbAbsScribe< T, P, I >::_transientPushPull, and BdbGenericScribe::reset().

Referenced by BdbAbsScribe< T, P, I >::BdbAbsScribe().

template<class T, class P, class I>
const BdbAbsTransientPushPull< T >* BdbAbsScribe< T, P, I >::transientPushPull   const [inline, protected]
 

Definition at line 165 of file BdbAbsScribe.hh.


Member Data Documentation

template<class T, class P, class I>
bool BdbAbsScribe< T, P, I >::_alreadyLoaded [private]
 

true is the transient has already loaded

Definition at line 207 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createTransient(), and BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
BdbEvtObjLocReg* BdbAbsScribe< T, P, I >::_inputRegistryCache [private]
 

cache for registry between "createTransient" and "fill"

Definition at line 215 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createTransient(), BdbAbsScribe< T, P, I >::fillPointers(), and BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
BdbEvtObjLocReg* BdbAbsScribe< T, P, I >::_outputRegistryCache [private]
 

cache for registry between "createPersistent" and "fill"

Definition at line 213 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), BdbAbsScribe< T, P, I >::fillRefs(), and BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
const BdbAbsPersistentPushPull< P , I >* BdbAbsScribe< T, P, I >::_persistentPushPull [private]
 

Strategy to use to insrt and retrieve transient object.

Definition at line 197 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), BdbAbsScribe< T, P, I >::createTransient(), BdbAbsScribe< T, P, BdbEvtObjP< T > >::persistentPushPull(), BdbAbsScribe< T, P, I >::reset(), and BdbAbsScribe< T, P, I >::~BdbAbsScribe().

template<class T, class P, class I>
const T* BdbAbsScribe< T, P, I >::_pulledTransientCache [private]
 

cache for transient object between "createPersistent" and "fill"

Definition at line 203 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), BdbAbsScribe< T, P, I >::fillRefs(), and BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
T* BdbAbsScribe< T, P, I >::_pushedTransientCache [private]
 

cache for transient object between "createTransient" and "fill"

Definition at line 205 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createTransient(), BdbAbsScribe< T, P, I >::fillPointers(), and BdbAbsScribe< T, P, I >::reset().

template<class T, class P, class I>
const BdbAbsSupplier< T , P , I >* BdbAbsScribe< T, P, I >::_supplier [private]
 

Strategy to use for the conversion.

Definition at line 200 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), BdbAbsScribe< T, P, I >::createTransient(), BdbAbsScribe< T, P, I >::fillPointers(), BdbAbsScribe< T, P, I >::fillRefs(), BdbAbsScribe< T, P, I >::isBulk(), BdbAbsScribe< T, P, I >::reset(), and BdbAbsScribe< T, P, I >::~BdbAbsScribe().

template<class T, class P, class I>
const BdbAbsTransientPushPull< T >* BdbAbsScribe< T, P, I >::_transientPushPull [private]
 

Strategy to use to insrt and retrieve transient object.

Definition at line 194 of file BdbAbsScribe.hh.

Referenced by BdbAbsScribe< T, P, I >::createPersistent(), BdbAbsScribe< T, P, I >::createTransient(), BdbAbsScribe< T, P, I >::reset(), BdbAbsScribe< T, P, BdbEvtObjP< T > >::transientPushPull(), and BdbAbsScribe< T, P, I >::~BdbAbsScribe().


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

 


BaBar Public Site | SLAC | News | Links | Who's Who | Contact Us

Page Owner: Jacek Becla
Last Update: October 04, 2002