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  

BdbDefSupplier< T, P > Class Template Reference
[BdbScribes]

#include <BdbDefSupplier.hh>

Inheritance diagram for BdbDefSupplier< T, P >:

BdbSingleHintSupplier< T, P, BdbEvtObjP< T > > BdbSupplier< T, P, BdbEvtObjP< T > > BdbAbsSupplier< T, P, BdbEvtObjP< T > > List of all members.

Public Methods

 BdbDefSupplier (const std::string &aPlacement)
virtual ~BdbDefSupplier ()
virtual bool fillRefs (BdbHandle(P)&aBdbEvtObj, const T *aAbsEvtObj, BdbEvtObjLocReg &aRegistry) const
virtual bool fillPointers (T *&aAbsEvtObj, const BdbHandle(BdbEvtObjP< T >)&aBdbEvtObj, BdbEvtObjLocReg &aRegistry) const

Protected Methods

virtual void supplySingleHintBdbEvtObj (BdbHandle(P)&aBdbEvtObj, const BdbRefAny &aHintToUse, const T *aAbsEvtObj, BdbEvtObjLocReg &aRegistry) const
virtual void supplyAbsEvtObj (T *&aAbsEvtObj, const BdbHandle(BdbEvtObjP< T >)&aBdbEvtObj, BdbEvtObjLocReg &aRegistry) const

Private Methods

 BdbDefSupplier ()
 BdbDefSupplier (const BdbDefSupplier< T, P > &aRhs)
const BdbDefSupplier< T, P > & operator= (const BdbDefSupplier< T, P > &aRhs)

Detailed Description

template<class T, class P>
class BdbDefSupplier< T, P >

This class implements the BdbSingleHintSupplier class for any transient-persistent pair where the persistent class is a subclass of the BdbEvtObjP interface.

Definition at line 62 of file BdbDefSupplier.hh.


Constructor & Destructor Documentation

template<class T, class P>
BdbDefSupplier< T, P >::BdbDefSupplier const std::string &    aPlacement
 

Constructs an instanace of this class.

Definition at line 67 of file BdbDefSupplier.cc.

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

Destroys this instance.

Definition at line 81 of file BdbDefSupplier.cc.

template<class T, class P>
BdbDefSupplier< T, P >::BdbDefSupplier   [private]
 

stops default

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

stops default


Member Function Documentation

template<class T, class P>
bool BdbDefSupplier< T, P >::fillPointers T *&    aAbsEvtObj,
const BdbHandle(BdbEvtObjP< T >)&    aBdbEvtObj,
BdbEvtObjLocReg   aRegistry
const [virtual]
 

Parameters:
aAbsEvtObj  a pointer to the transient object whose associations need filling.
aAbsEvtObj  a handle to the persistent object whose associations need to be retrieved.
aRegistry  the registry of transient<->persistent mapping.

Implements BdbAbsSupplier< T, P, BdbEvtObjP< T > >.

Definition at line 127 of file BdbDefSupplier.cc.

References BdbEvtObjP< T >::fillPointers().

template<class T, class P>
bool BdbDefSupplier< T, P >::fillRefs BdbHandle(P)&    aBdbEvtObj,
const T *    aAbsEvtObj,
BdbEvtObjLocReg   aRegistry
const [virtual]
 

Fills the persistent associations using the those in the transient objects and cross-referenceing them in the registry.

Parameters:
aBdbEvtObj  a handle to the persistent objects whose associations need filling.
aAbsEvtObj  a pointer to the transient object whose assoications need to be stored.
aRegistry  the registry of transient<->persistent mapping.

Implements BdbAbsSupplier< T, P, BdbEvtObjP< T > >.

Definition at line 109 of file BdbDefSupplier.cc.

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

stops default

template<class T, class P>
void BdbDefSupplier< T, P >::supplyAbsEvtObj T *&    aAbsEvtObj,
const BdbHandle(BdbEvtObjP< T >)&    aBdbEvtObj,
BdbEvtObjLocReg   aRegistry
const [protected, virtual]
 

Supplies the BaBar transient object, which must be a subclass of AbsEvtObj.

Parameters:
aAbsEvtObj  a pointer to the transient requested transient object.
aBdbEvtObj  a handle to the persistent object to be converters.
aRegistry  the registry of transient<->persistent mapping.

Implements BdbSupplier< T, P, BdbEvtObjP< T > >.

Definition at line 118 of file BdbDefSupplier.cc.

References BdbEvtObjP< T >::transient().

template<class T, class P>
void BdbDefSupplier< T, P >::supplySingleHintBdbEvtObj BdbHandle(P)&    aBdbEvtObj,
const BdbRefAny &    aHintToUse,
const T *    aAbsEvtObj,
BdbEvtObjLocReg   aRegistry
const [protected, virtual]
 

Supplies the BaBar transient object, which must be a subclass of BdbEvtObj.

Parameters:
aBdbEvtObj  a handle to fill with the reference to the requested persistent object
aHintToUse  a single hint to use if the persistent object needs to be created.
aAbsEvtObj  a pointer to the transient object to be converted.
aRegistry  the registry of transient<->persistent mapping.

Implements BdbSingleHintSupplier< T, P, BdbEvtObjP< T > >.

Definition at line 99 of file BdbDefSupplier.cc.

References BdbRefAny.


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