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

CdbBdbSCondition Class Reference

This class implements an abstract base class CdbCondition. More...

#include <CdbBdbSCondition.hh>

Inheritance diagram for CdbBdbSCondition:

CdbCondition CdbBdbHintProvider CdbStateControl CdbHistoryProvider CdbCloneable< CdbCondition > List of all members.

Public Member Functions

 CdbBdbSCondition (const CdbFolderPtr &theFolderPtr, const CdbDatabasePtr &theDatabasePtr, const char *theName, const CdbBdbSId &thePhysicalAddress, const BdbHandle(CdbBdbSConditionAtFolderP)&theConditionAtFolderH, const BdbHandle(CdbBdbSConditionP)&theConditionH, const BdbHandle(CdbBdbSRegistryP)&theMasterRegistryH, const BdbHandle(CdbBdbSRegistryP)&theLocalRegistryH)
 The normal constructor...

virtual ~CdbBdbSCondition ()
 The destructor.

virtual bool isValid ()
 Check if the current API context is valid.

virtual bool isOpen ()
 Check if the current API component is open.

virtual CdbStatus open ()
 Open the component.

virtual CdbStatus close ()
 Close the component.

virtual std::string description () const
 Obtain the condition description.

virtual bool isPartitionable () const
 Obtain the condition type.

virtual CdbCompositeName physicalName () const
 Obtain the full condition name in the 'physical' namespace.

virtual CdbId physicalId () const
 Obtain the full condition identifier in the 'physical' namespace.

virtual BdbTime created () const
 Get the condition creation time.

virtual BdbTime registered () const
 Get the condition registration time.

virtual BdbTime modified () const
 Obtain the condition modification time.

virtual CdbStatus findObject (CdbObjectPtr &theObjectPtr, const BdbTime &theValidityTime, const BdbTime &theInsertionTime=BdbTime::plusInfinity)
 Find the persistent CdbObject at a condition.

virtual CdbStatus findObject (CdbObjectPtr &theObjectPtr, const CdbRevisionPolicy &thePolicy, const BdbTime &theValidityTime, const BdbTime &theInsertionTime=BdbTime::plusInfinity)
 Find the persistent CdbObject at a condition.

virtual CdbStatus objectIterator (CdbObjectItr &theItr, const BdbTime &theBeginValidity=BdbTime::minusInfinity, const BdbTime &theEndValidity=BdbTime::plusInfinity)
 An iterator for the objects.

virtual CdbStatus objectIterator (CdbObjectItr &theItr, const CdbRevisionPolicy &thePolicy, const BdbTime &theBeginValidity=BdbTime::minusInfinity, const BdbTime &theEndValidity=BdbTime::plusInfinity)
 An iterator for the objects.

virtual CdbStatus originalObjectIterator (CdbObjectItr &theItr, const BdbTime &theBeginInsertion=BdbTime::minusInfinity, const BdbTime &theEndInsertion=BdbTime::plusInfinity, const unsigned short thePartitionId=0)
 An iterator for the 'original' objects.

virtual CdbStatus storeObject (CdbObjectFactoryBase &theObjectFactory, const BdbTime &theBegin, const BdbTime &theEnd, CdbObjectPtr &theObjectPtr)
 Create and store a new condition object in the database.

virtual CdbStatus storeAndTruncateObject (CdbObjectFactoryBase &theObjectFactory, const BdbTime &theStoreTime, const BdbTime &theTruncateTime, CdbObjectPtr &theObjectPtr)
 Create and store a new condition object in the database.

virtual CdbStatus split (const BdbTime &theTime)
 Split the validity timeline at specified point.

virtual CdbStatus findRevision (CdbRevisionPtr &thePtr, const BdbTime &theId, unsigned short thePartitionId=0)
 Find a revision by its revision identifier.

virtual CdbStatus findRevision (CdbRevisionPtr &thePtr, const char *theName, unsigned short thePartitionId=0)
 Find a revision by its name.

virtual CdbStatus revisionIdIterator (CdbItr< BdbTime > &theItr, unsigned short thePartitionId=0)
 An iterator for the known revision identifiers.

virtual CdbStatus revisionNameIterator (CdbItr< const char * > &theItr, unsigned short thePartitionId=0)
 An iterator for the known revision names.

virtual CdbStatus createRevision (CdbRevisionPtr &thePtr, const BdbTime &theId, const char *theName, const char *theDescription, unsigned short thePartitionId=0)
 Create a new revision.

virtual CdbStatus historyEventIterator (CdbHistoryEventItr &theItr, const BdbTime &theBeginTime, const BdbTime &theEndTime, const char **theEventsToSelect)
 Initialize an instance of an iterator for the history events.

virtual CdbStatus historyEventTypeIterator (CdbHistoryEventTypeItr &theItr)
 Initialize an instance of an iterator for the khistory events.

virtual CdbStatus hint (BdbRefAny &theHint, const BdbTime &theBegin, const BdbTime &theEnd)
 Get the hint for specified parameters.

virtual CdbStatus verify (const BdbRefAny &theHint, const BdbRef(BdbObject)&theObjectRef)
 Verify if created object matches the hint.


Protected Member Functions

virtual CdbConditionclone () const
 The cloning method.


Detailed Description

This class implements an abstract base class CdbCondition.

It's a "shared" implementation based on the new Condition/DB.

See also:
CdbCondition

Definition at line 28 of file CdbBdbSCondition.hh.


Constructor & Destructor Documentation

CdbBdbSCondition::CdbBdbSCondition const CdbFolderPtr   theFolderPtr,
const CdbDatabasePtr   theDatabasePtr,
const char *    theName,
const CdbBdbSId   thePhysicalAddress,
const BdbHandle(CdbBdbSConditionAtFolderP)&    theConditionAtFolderH,
const BdbHandle(CdbBdbSConditionP)&    theConditionH,
const BdbHandle(CdbBdbSRegistryP)&    theMasterRegistryH,
const BdbHandle(CdbBdbSRegistryP)&    theLocalRegistryH
 

The normal constructor...

Note, that the "theConditionAtFolderH" and "theFolderPtr" parameters are optionals if the condition is found by its 'physical' address.

Parameters:
theFolderPtr  the parent folder object (view conditions only)
theDatabasePtr  the parent database object (physical conditions only)
theName  the conditin name at the folder's scope
thePhysicalAddress  the 'physical address' of the condition
theConditionAtFolderH  the "virtual" condition.
theConditionH  the "physical" condition
theMasterRegistryH  the main access point to the persistent store
theLocalRegistryH  the main access point to the persistent store

Definition at line 2490 of file CdbBdbSCondition.cc.

Referenced by clone().

CdbBdbSCondition::~CdbBdbSCondition   [virtual]
 

The destructor.

Is only available for the derived classes and friends to prevent accidental deletion of objects.

Definition at line 2521 of file CdbBdbSCondition.cc.


Member Function Documentation

CdbCondition * CdbBdbSCondition::clone   const [protected, virtual]
 

The cloning method.

Implements the corresponding method of a base class or interface.

See also:
CdbCloneable::clone()

Implements CdbCloneable< CdbCondition >.

Definition at line 2485 of file CdbBdbSCondition.cc.

References CdbBdbSCondition().

CdbStatus CdbBdbSCondition::close   [virtual]
 

Close the component.

Implements a pure virtual method of a base class or interface.

See also:
CdbStateControl::close()

Implements CdbStateControl.

Definition at line 3607 of file CdbBdbSCondition.cc.

References CdbStatus::Success.

BdbTime CdbBdbSCondition::created   const [virtual]
 

Get the condition creation time.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::created()

Implements CdbCondition.

Definition at line 2565 of file CdbBdbSCondition.cc.

CdbStatus CdbBdbSCondition::createRevision CdbRevisionPtr   thePtr,
const BdbTime   theId,
const char *    theName,
const char *    theDescription,
unsigned short    thePartitionId = 0
[virtual]
 

Create a new revision.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::createRevision()

Implements CdbCondition.

Definition at line 3829 of file CdbBdbSCondition.cc.

References BdbRef(), CdbStatus::Error, isPartitionable(), CdbCondition::name(), CdbBdbSId::origin, CdbStatus::Success, and CdbTimeUtils::time2string().

std::string CdbBdbSCondition::description   const [virtual]
 

Obtain the condition description.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::description()

Implements CdbCondition.

Definition at line 2525 of file CdbBdbSCondition.cc.

CdbStatus CdbBdbSCondition::findObject CdbObjectPtr   theObjectPtr,
const CdbRevisionPolicy   thePolicy,
const BdbTime   theValidityTime,
const BdbTime   theInsertionTime = BdbTime::plusInfinity
[virtual]
 

Find the persistent CdbObject at a condition.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::findObject()

Implements CdbCondition.

Definition at line 2929 of file CdbBdbSCondition.cc.

References BdbRef(), CdbBdbSOi::begin, CDB_DEBUG_STREAM, CdbBdbSOi::end, CdbStatus::Error, CdbCondition::fullPathName(), BdbTime::getGmtNsec(), BdbTime::getGmtSec(), CdbBdbSOi::inserted, CdbBdbObjectCreator::object(), and CdbStatus::Success.

CdbStatus CdbBdbSCondition::findObject CdbObjectPtr   theObjectPtr,
const BdbTime   theValidityTime,
const BdbTime   theInsertionTime = BdbTime::plusInfinity
[virtual]
 

Find the persistent CdbObject at a condition.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::findObject()

Implements CdbCondition.

Definition at line 2601 of file CdbBdbSCondition.cc.

References CdbBdbSConfigElement::accessIsAllowed(), BdbRef(), CdbBdbSOi::begin, CdbBdbSTimeLineInterval< CdbBdbSConfigElement >::begin, CDB_DEBUG_STREAM, CdbBdbSOi::end, CdbBdbSTimeLineInterval< CdbBdbSConfigElement >::end, CdbStatus::Error, CdbCondition::fullPathName(), BdbTime::getGmtNsec(), BdbTime::getGmtSec(), CdbBdbSOi::inserted, BdbTime::minusInfinity, CdbCondition::name(), CdbItr< T >::next(), CdbBdbObjectCreator::object(), CdbCondition::parent(), CdbBdbSConfigElement::partition, BdbTime::plusInfinity, CdbBdbSConfigElement::revision, CdbStatus::Success, CdbBdbSConfigElement::useRevision, CdbBdbSTimeLineInterval< CdbBdbSConfigElement >::value, and CdbItr< T >::value().

CdbStatus CdbBdbSCondition::findRevision CdbRevisionPtr   thePtr,
const char *    theName,
unsigned short    thePartitionId = 0
[virtual]
 

Find a revision by its name.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::findRevision()

Implements CdbCondition.

Definition at line 3681 of file CdbBdbSCondition.cc.

References BdbRef(), CdbStatus::NotFound, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::findRevision CdbRevisionPtr   thePtr,
const BdbTime   theId,
unsigned short    thePartitionId = 0
[virtual]
 

Find a revision by its revision identifier.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::findRevision()

Implements CdbCondition.

Definition at line 3613 of file CdbBdbSCondition.cc.

References BdbRef(), CdbStatus::NotFound, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::hint BdbRefAny &    theHint,
const BdbTime   theBegin,
const BdbTime   theEnd
[virtual]
 

Get the hint for specified parameters.

Implements a pure virtual method of a base class or interface.

See also:
CdbBdbHintProvider::hint()

Implements CdbBdbHintProvider.

Definition at line 4037 of file CdbBdbSCondition.cc.

References CdbStatus::NotFound, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::historyEventIterator CdbHistoryEventItr   theItr,
const BdbTime   theBeginTime,
const BdbTime   theEndTime,
const char **    theEventsToSelect
[virtual]
 

Initialize an instance of an iterator for the history events.

Implements a pure virtual method of a base class or interface.

See also:
CdbHistoryProvider::historyEventIterator()

Implements CdbHistoryProvider.

Definition at line 4022 of file CdbBdbSCondition.cc.

References CdbStatus::NotImplemented.

CdbStatus CdbBdbSCondition::historyEventTypeIterator CdbHistoryEventTypeItr   theItr [virtual]
 

Initialize an instance of an iterator for the khistory events.

Implements a pure virtual method of a base class or interface.

See also:
CdbHistoryProvider::historyEventTypeIterator()

Implements CdbHistoryProvider.

Definition at line 4031 of file CdbBdbSCondition.cc.

References CdbStatus::NotImplemented.

bool CdbBdbSCondition::isOpen   [virtual]
 

Check if the current API component is open.

Implements a pure virtual method of a base class or interface.

See also:
CdbStateControl::isOpen()

Implements CdbStateControl.

Definition at line 3595 of file CdbBdbSCondition.cc.

bool CdbBdbSCondition::isPartitionable   const [virtual]
 

Obtain the condition type.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::isPartitionable()

Implements CdbCondition.

Definition at line 2532 of file CdbBdbSCondition.cc.

Referenced by createRevision(), and storeObject().

bool CdbBdbSCondition::isValid   [virtual]
 

Check if the current API context is valid.

Implements a pure virtual method of a base class or interface.

See also:
CdbStateControl::isValid()

Implements CdbStateControl.

Definition at line 3589 of file CdbBdbSCondition.cc.

BdbTime CdbBdbSCondition::modified   const [virtual]
 

Obtain the condition modification time.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::modified()

Implements CdbCondition.

Definition at line 2578 of file CdbBdbSCondition.cc.

References BdbTime::minusInfinity, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::objectIterator CdbObjectItr   theItr,
const CdbRevisionPolicy   thePolicy,
const BdbTime   theBeginValidity = BdbTime::minusInfinity,
const BdbTime   theEndValidity = BdbTime::plusInfinity
[virtual]
 

An iterator for the objects.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::objectIterator()

Implements CdbCondition.

Definition at line 3136 of file CdbBdbSCondition.cc.

References CdbObjectItr, CdbCondition::name(), CdbStatus::NotFound, CdbRevisionPolicy::partitionId(), CdbRevisionPolicy::revisionId(), CdbStatus::Success, and CdbRevisionPolicy::useRevision().

CdbStatus CdbBdbSCondition::objectIterator CdbObjectItr   theItr,
const BdbTime   theBeginValidity = BdbTime::minusInfinity,
const BdbTime   theEndValidity = BdbTime::plusInfinity
[virtual]
 

An iterator for the objects.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::objectIterator()

Implements CdbCondition.

Definition at line 3009 of file CdbBdbSCondition.cc.

References BdbRef(), CdbObjectItr, CdbCondition::name(), CdbStatus::NotFound, CdbStatus::NotImplemented, CdbCondition::parent(), and CdbStatus::Success.

CdbStatus CdbBdbSCondition::open   [virtual]
 

Open the component.

Implements a pure virtual method of a base class or interface.

See also:
CdbStateControl::open()

Implements CdbStateControl.

Definition at line 3601 of file CdbBdbSCondition.cc.

References CdbStatus::Success.

CdbStatus CdbBdbSCondition::originalObjectIterator CdbObjectItr   theItr,
const BdbTime   theBeginInsertion = BdbTime::minusInfinity,
const BdbTime   theEndInsertion = BdbTime::plusInfinity,
const unsigned short    thePartitionId = 0
[virtual]
 

An iterator for the 'original' objects.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::originalObjectIterator()

Implements CdbCondition.

Definition at line 3210 of file CdbBdbSCondition.cc.

References CdbObjectItr, CdbCondition::name(), CdbStatus::NotFound, and CdbStatus::Success.

CdbId CdbBdbSCondition::physicalId   const [virtual]
 

Obtain the full condition identifier in the 'physical' namespace.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::physicalId()

Implements CdbCondition.

Definition at line 2558 of file CdbBdbSCondition.cc.

References CdbBdbSId::local, and CdbBdbSId::origin.

CdbCompositeName CdbBdbSCondition::physicalName   const [virtual]
 

Obtain the full condition name in the 'physical' namespace.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::physicalName()

Implements CdbCondition.

Definition at line 2538 of file CdbBdbSCondition.cc.

References CdbStatus::Success.

BdbTime CdbBdbSCondition::registered   const [virtual]
 

Get the condition registration time.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::registered()

Implements CdbCondition.

Definition at line 2571 of file CdbBdbSCondition.cc.

CdbStatus CdbBdbSCondition::revisionIdIterator CdbItr< BdbTime > &    theItr,
unsigned short    thePartitionId = 0
[virtual]
 

An iterator for the known revision identifiers.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::revisionIdIterator()

Implements CdbCondition.

Definition at line 3749 of file CdbBdbSCondition.cc.

References CdbStatus::Error, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::revisionNameIterator CdbItr< const char * > &    theItr,
unsigned short    thePartitionId = 0
[virtual]
 

An iterator for the known revision names.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::revisionIdIterator()

Implements CdbCondition.

Definition at line 3789 of file CdbBdbSCondition.cc.

References CdbStatus::Error, and CdbStatus::Success.

CdbStatus CdbBdbSCondition::split const BdbTime   theTime [virtual]
 

Split the validity timeline at specified point.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::split()
NOTE: This method does not have an actual implementation. The corresponding return status will always be CdbStatus::NotImplemented.

Implements CdbCondition.

Definition at line 3578 of file CdbBdbSCondition.cc.

References CdbStatus::Success.

CdbStatus CdbBdbSCondition::storeAndTruncateObject CdbObjectFactoryBase   theObjectFactory,
const BdbTime   theStoreTime,
const BdbTime   theTruncateTime,
CdbObjectPtr   theObjectPtr
[virtual]
 

Create and store a new condition object in the database.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::storeAndTruncateObject()

Implements CdbCondition.

Definition at line 3566 of file CdbBdbSCondition.cc.

References storeObject().

CdbStatus CdbBdbSCondition::storeObject CdbObjectFactoryBase   theObjectFactory,
const BdbTime   theBegin,
const BdbTime   theEnd,
CdbObjectPtr   theObjectPtr
[virtual]
 

Create and store a new condition object in the database.

Implements a pure virtual method of a base class or interface.

See also:
CdbCondition::storeObject()

Implements CdbCondition.

Definition at line 3258 of file CdbBdbSCondition.cc.

References BdbRef(), CDB_DEBUG_STREAM, CdbObjectFactoryBase::create(), CdbBdbSCell::endValidity, CdbStatus::Error, CdbBdbSUtils::findContainer(), CdbCondition::fullPathName(), BdbTime::getGmtNsec(), BdbTime::getGmtSec(), CdbBdbSUtils::getLocalDbIdRange(), CdbEnvironment::getTruncateTime(), CdbCPtr< CdbObject, CdbDoNotClosePolicy< CdbObject > >::isNull(), isPartitionable(), CdbBdbSId::local, CdbCondition::name(), CdbBdbObjectConvertor::narrow(), CdbBdbSId::origin, and CdbStatus::Success.

Referenced by storeAndTruncateObject().

CdbStatus CdbBdbSCondition::verify const BdbRefAny &    theHint,
const BdbRef(BdbObject)&    theObjectRef
[virtual]
 

Verify if created object matches the hint.

Implements a pure virtual method of a base class or interface.

See also:
CdbBdbHintProvider::verify()

Implements CdbBdbHintProvider.

Definition at line 4061 of file CdbBdbSCondition.cc.

References BdbRef(), CdbStatus::Error, and CdbStatus::Success.


The documentation for this class was generated from the following files:
Generated on Mon Dec 5 18:22:19 2005 for CDB by doxygen1.3-rc3