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

CdbSQLApiCondition Class Reference

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

#include <CdbSQLApiCondition.hh>

Inheritance diagram for CdbSQLApiCondition:

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

Public Member Functions

 CdbSQLApiCondition (const CdbFolderPtr &theFolderPtr, const CdbDatabasePtr &theDatabasePtr, const char *theName, const CdbCPtr< CdbSQLConditionAtFolder > &theConditionAtFolderPtr, const CdbCPtr< CdbSQLCondition > &theConditionPtr, const CdbCPtr< CdbSQLOrigin > &theMasterOriginPtr, const CdbCPtr< CdbSQLOrigin > &theLocalOriginPtr)
 The normal constructor...

virtual ~CdbSQLApiCondition ()
 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.


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 24 of file CdbSQLApiCondition.hh.


Constructor & Destructor Documentation

CdbSQLApiCondition::CdbSQLApiCondition const CdbFolderPtr   theFolderPtr,
const CdbDatabasePtr   theDatabasePtr,
const char *    theName,
const CdbCPtr< CdbSQLConditionAtFolder > &    theConditionAtFolderPtr,
const CdbCPtr< CdbSQLCondition > &    theConditionPtr,
const CdbCPtr< CdbSQLOrigin > &    theMasterOriginPtr,
const CdbCPtr< CdbSQLOrigin > &    theLocalOriginPtr
 

The normal constructor...

Note, that the "theConditionAtFolderPtr" 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
theConditionAtFolderPtr  the persistent condition_at_folder object.
theConditionPtr  the persistent folder object
theMasterOriginPtr  the persistent master origin object
theLocalOriginPtr  the persistent local origin object

Definition at line 506 of file CdbSQLApiCondition.cc.

References CdbCPtr< P, CLOSE_POLICY >::isNull().

Referenced by clone().

CdbSQLApiCondition::~CdbSQLApiCondition   [virtual]
 

The destructor.

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

Definition at line 544 of file CdbSQLApiCondition.cc.


Member Function Documentation

CdbCondition * CdbSQLApiCondition::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 501 of file CdbSQLApiCondition.cc.

References CdbSQLApiCondition().

CdbStatus CdbSQLApiCondition::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 1468 of file CdbSQLApiCondition.cc.

References CdbStatus::Success.

BdbTime CdbSQLApiCondition::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 575 of file CdbSQLApiCondition.cc.

CdbStatus CdbSQLApiCondition::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 1584 of file CdbSQLApiCondition.cc.

References CdbStatus::NotImplemented.

std::string CdbSQLApiCondition::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 548 of file CdbSQLApiCondition.cc.

References CdbCPtr< CdbSQLConditionAtFolder >::isNull().

CdbStatus CdbSQLApiCondition::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 945 of file CdbSQLApiCondition.cc.

References CDB_DEBUG_STREAM, CdbConditionPtr, CdbStatus::Error, BdbTime::getGmtNsec(), BdbTime::getGmtSec(), CdbCPtr< CdbObject, CdbDoNotClosePolicy< CdbObject > >::isNull(), BdbTime::minusInfinity, CdbCondition::name(), CdbCondition::parentDatabase(), BdbTime::plusInfinity, and CdbStatus::Success.

CdbStatus CdbSQLApiCondition::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 699 of file CdbSQLApiCondition.cc.

References CdbConfigElement::accessIsAllowed, CdbConfigElement::begin, CDB_DEBUG_STREAM, CdbConditionPtr, CdbConfigElement::end, CdbStatus::Error, BdbTime::getGmtNsec(), BdbTime::getGmtSec(), CdbCPtr< CdbObject, CdbDoNotClosePolicy< CdbObject > >::isNull(), CdbCPtr< P, CLOSE_POLICY >::isNull(), CdbCPtr< CdbSQLConditionAtFolder >::isNull(), BdbTime::minusInfinity, CdbCondition::name(), CdbCondition::parentDatabase(), physicalId(), BdbTime::plusInfinity, CdbConfigElement::policy, CdbStatus::Success, and CdbTimeUtils::time2string().

CdbStatus CdbSQLApiCondition::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 1501 of file CdbSQLApiCondition.cc.

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

CdbStatus CdbSQLApiCondition::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 1474 of file CdbSQLApiCondition.cc.

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

CdbStatus CdbSQLApiCondition::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 1594 of file CdbSQLApiCondition.cc.

References CdbStatus::NotImplemented.

CdbStatus CdbSQLApiCondition::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 1603 of file CdbSQLApiCondition.cc.

References CdbStatus::NotImplemented.

bool CdbSQLApiCondition::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 1456 of file CdbSQLApiCondition.cc.

bool CdbSQLApiCondition::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 555 of file CdbSQLApiCondition.cc.

bool CdbSQLApiCondition::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 1450 of file CdbSQLApiCondition.cc.

BdbTime CdbSQLApiCondition::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 588 of file CdbSQLApiCondition.cc.

References CdbConfigElement::accessIsAllowed, CdbCPtr< CdbSQLConditionAtFolder >::isNull(), BdbTime::minusInfinity, CdbRevisionPolicy::partitionId(), BdbTime::plusInfinity, CdbConfigElement::policy, CdbRevisionPolicy::revisionId(), CdbStatus::Success, and CdbRevisionPolicy::useRevision().

CdbStatus CdbSQLApiCondition::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 1182 of file CdbSQLApiCondition.cc.

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

CdbStatus CdbSQLApiCondition::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 1046 of file CdbSQLApiCondition.cc.

References CdbConditionPtr, CdbObjectItr, CdbStatus::Error, CdbStatus::IllegalParameters, CdbCPtr< CdbSQLConditionAtFolder >::isNull(), CdbCondition::name(), CdbStatus::NotFound, CdbStatus::NotImplemented, CdbCondition::parent(), and CdbStatus::Success.

CdbStatus CdbSQLApiCondition::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 1462 of file CdbSQLApiCondition.cc.

References CdbStatus::Success.

CdbStatus CdbSQLApiCondition::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 1226 of file CdbSQLApiCondition.cc.

References CdbConditionPtr, CdbObjectItr, CdbStatus::Error, CdbStatus::IllegalParameters, CdbCondition::name(), CdbCondition::parent(), CdbStatus::Success, and CdbTimeUtils::time2string().

CdbId CdbSQLApiCondition::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 568 of file CdbSQLApiCondition.cc.

Referenced by findObject().

CdbCompositeName CdbSQLApiCondition::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 561 of file CdbSQLApiCondition.cc.

BdbTime CdbSQLApiCondition::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 581 of file CdbSQLApiCondition.cc.

References CdbCPtr< CdbSQLConditionAtFolder >::isNull().

CdbStatus CdbSQLApiCondition::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 1528 of file CdbSQLApiCondition.cc.

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

CdbStatus CdbSQLApiCondition::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 1556 of file CdbSQLApiCondition.cc.

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

CdbStatus CdbSQLApiCondition::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 1439 of file CdbSQLApiCondition.cc.

References CdbStatus::Success.

CdbStatus CdbSQLApiCondition::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 1427 of file CdbSQLApiCondition.cc.

References storeObject().

CdbStatus CdbSQLApiCondition::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 1278 of file CdbSQLApiCondition.cc.

References CDB_DEBUG_STREAM, CdbConditionPtr, CdbSQLCell::endValidity, CdbStatus::Error, CdbCPtr< CdbDatabase, CdbAlwaysClosePolicy< CdbDatabase > >::get(), CdbEnvironment::getTruncateTime(), CdbCPtr< CdbObject, CdbDoNotClosePolicy< CdbObject > >::isNull(), CdbCondition::name(), CdbCondition::parentDatabase(), CdbSQLApi::storeObject(), CdbStatus::Success, and CdbTimeUtils::time2string().

Referenced by storeAndTruncateObject().


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