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  

CdbBdbSFolderP Class Reference
[CdbBdbShared]

Inheritance diagram for CdbBdbSFolderP:

BdbPersObj List of all members.

Public Methods

 CdbBdbSFolderP (ooInternalObj iobj)
 Special constructor (NOT IMPLEMENTED).

 ooString (32) name() const
 ooString (32) description() const
BdbTime created () const
 BdbRef (CdbBdbSViewP) parentView() const
 BdbRef (CdbBdbSFolderP) parentFolder() const
CdbStatus findFolder (const CdbPathName &thePathName, BdbRef(CdbBdbSFolderP)&theRef) const
 Find the folder.

CdbStatus findCondition (const CdbPathName &thePathName, BdbRef(CdbBdbSConditionAtFolderP)&theRef) const
 Find the condition.

CdbStatus folderIterator (CdbItr< const char * > &theItr) const
 Set up an iterator of folder names.

CdbStatus conditionIterator (CdbItr< const char * > &theItr) const
 Set up an iterator of condition names.

void dump (ostream &o) const
 Dump the contents of the object.


Private Methods

 CdbBdbSFolderP ()
 Default constructor (NOT IMPLEMENTED)).

 CdbBdbSFolderP (const char *theName, const char *theDescription, const BdbTime &theCreationTime, const BdbRef(CdbBdbSViewP)&theParentViewRef, const BdbRef(CdbBdbSFolderP)&theParentFolderRef)
 Normal constructor.

virtual ~CdbBdbSFolderP ()
 Destructor.

CdbStatus insert (const BdbRef(CdbBdbSFolderP)&theRef)
 Insert a folder.

CdbStatus insert (const BdbRef(CdbBdbSConditionAtFolderP)&theRef)
 Insert a condition.

CdbStatus createFolder (const char *theFullPathName, const char *theDescription, const BdbTime &theCreationTime)
 Create new folder (RECURSIVE).

CdbStatus removeFolder (const CdbPathName &thePathName)
 Remove the folder (and its subfolders and conditions).

CdbStatus removeCondition (const CdbPathName &thePathName)
 Remove the condition.

 ooString (32) _name
 ooString (32) _description
 BdbRef (CdbBdbSViewP) _parentViewRef
 BdbRef (CdbBdbSFolderP) _parentFolderRef
 BdbRef (ooMap) _foldersMapRef
 BdbRef (ooMap) _conditionsMapRef

Private Attributes

BdbTime _created

Friends

class CdbBdbSViewP

Constructor & Destructor Documentation

CdbBdbSFolderP::CdbBdbSFolderP ooInternalObj    iobj [inline]
 

Special constructor (NOT IMPLEMENTED).

WARNING: This constructor is defined to avoid automatically generated constructor from Objectivity, which will break the compilation due to missing default constructor of BdbTime class.

Definition at line 64 of file CdbBdbSFolderP.ddl.

References _created.

CdbBdbSFolderP::CdbBdbSFolderP   [private]
 

Default constructor (NOT IMPLEMENTED)).

Also see comments about the special constructor defined above.

Referenced by createFolder().

CdbBdbSFolderP::CdbBdbSFolderP const char *    theName,
const char *    theDescription,
const BdbTime   theCreationTime,
const BdbRef(CdbBdbSViewP)&    theParentViewRef,
const BdbRef(CdbBdbSFolderP)&    theParentFolderRef
[private]
 

Normal constructor.

WARNING: Inappropriate values of the parameters will cause the crash of the constructor to avoid creating disformed persistent data structures.

Parameters:
theName  the name of the folder
theDescription  the description of the folder
theCreationTime  the time when the folder is supposed to be created
theParentViewRef  back link to the parent view
theParentFolderRef  an optional back link to the parent folder

Definition at line 20 of file CdbBdbSFolderP.cc.

References BdbIsNull, BdbMap, BdbTime::minusInfinity, and BdbTime::plusInfinity.

CdbBdbSFolderP::~CdbBdbSFolderP   [private, virtual]
 

Destructor.

Definition at line 42 of file CdbBdbSFolderP.cc.

References BdbDelete, and BdbRef().


Member Function Documentation

CdbBdbSFolderP::BdbRef ooMap    [private]
 

CdbBdbSFolderP::BdbRef ooMap    [private]
 

CdbBdbSFolderP::BdbRef CdbBdbSFolderP    [private]
 

CdbBdbSFolderP::BdbRef CdbBdbSViewP    [private]
 

CdbBdbSFolderP::BdbRef CdbBdbSFolderP    const
 

CdbBdbSFolderP::BdbRef CdbBdbSViewP    const
 

Referenced by createFolder(), findCondition(), findFolder(), removeCondition(), removeFolder(), and ~CdbBdbSFolderP().

CdbStatus CdbBdbSFolderP::conditionIterator CdbItr< const char * > &    theItr const
 

Set up an iterator of condition names.

Parameters:
theItr  the value of the iterator be set up

Definition at line 616 of file CdbBdbSFolderP.cc.

References CdbStatus::Success.

Referenced by CdbBdbSViewP::cloneComponents(), and helper_BrowseFolder().

BdbTime CdbBdbSFolderP::created  
 

Definition at line 82 of file CdbBdbSFolderP.cc.

References _created.

Referenced by CdbBdbSViewP::cloneComponents().

CdbStatus CdbBdbSFolderP::createFolder const char *    theFullPathName,
const char *    theDescription,
const BdbTime   theCreationTime
[private]
 

Create new folder (RECURSIVE).

This operation creates the specified folder path, including intermediate subdirectories if they still do not exist.

NOTE: The specified "description" and "creation" timestamp will be assigned to all newely created folders.

Parameters:
theFullPathName  the path name of the folder to be created
theDescription  the description of the folder
theCreationTime  the time when the folder is supposed to be created

Definition at line 258 of file CdbBdbSFolderP.cc.

References CdbPathName::afterFirst(), BdbcSuccess, BdbDelete, BdbIsNull, BdbRef(), CdbBdbSFolderP(), cout, CdbStatus::Error, CdbPathName::first(), insert(), CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isRoot(), CdbPathName::isValid(), result, and CdbStatus::Success.

void CdbBdbSFolderP::dump ostream &    o const
 

Dump the contents of the object.

Definition at line 627 of file CdbBdbSFolderP.cc.

References _created.

CdbStatus CdbBdbSFolderP::findCondition const CdbPathName   thePathName,
BdbRef(CdbBdbSConditionAtFolderP)&    theRef
const
 

Find the condition.

This operation requires the relative path to the required object. Upon successfull completion it will return CdbStatus::Success. If the object is not found CdbStatus::NotFound will be returned, The error status will be returned in other cases.

Parameters:
thePathName  the relative path name to the condition
theRef  the reference to the found object to be set up

Definition at line 521 of file CdbBdbSFolderP.cc.

References CdbPathName::afterFirst(), BdbcSuccess, BdbHandle, BdbIsNull, BdbRef(), cout, CdbStatus::Error, CdbPathName::first(), CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), CdbStatus::NotFound, result, CdbStatus::Success, and theRef.

Referenced by CdbBdbSViewP::cloneComponents().

CdbStatus CdbBdbSFolderP::findFolder const CdbPathName   thePathName,
BdbRef(CdbBdbSFolderP)&    theRef
const
 

Find the folder.

This operation requires the relative path to the required object. Upon successfull completion it will return CdbStatus::Success. If the object is not found CdbStatus::NotFound will be returned, The error status will be returned in other cases.

Parameters:
thePathName  the relative path name to the folder
theRef  the reference to the found object to be set up

Definition at line 466 of file CdbBdbSFolderP.cc.

References CdbPathName::afterFirst(), BdbcSuccess, BdbHandle, BdbIsNull, BdbRef(), cout, CdbStatus::Error, CdbPathName::first(), CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), CdbStatus::NotFound, result, CdbStatus::Success, and theRef.

Referenced by CdbBdbSViewP::cloneComponents(), and CdbBdbSViewP::findFolder().

CdbStatus CdbBdbSFolderP::folderIterator CdbItr< const char * > &    theItr const
 

Set up an iterator of folder names.

Parameters:
theItr  the value of the iterator be set up

Definition at line 605 of file CdbBdbSFolderP.cc.

References CdbStatus::Success.

Referenced by CdbBdbSViewP::cloneComponents(), and helper_BrowseFolder().

CdbStatus CdbBdbSFolderP::insert const BdbRef(CdbBdbSConditionAtFolderP)&    theRef [private]
 

Insert a condition.

The passed object will be asked to provide its name. This name will be used to register passed object in the current folder. This name must be unique in the list of conditions at the current folder's scope.

Definition at line 181 of file CdbBdbSFolderP.cc.

References BdbcSuccess, BdbIsNull, cout, d_True, CdbStatus::Error, CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), ooString(), result, CdbPathName::separator(), CdbStatus::Success, and theRef.

CdbStatus CdbBdbSFolderP::insert const BdbRef(CdbBdbSFolderP)&    theRef [private]
 

Insert a folder.

The passed object will be asked to provide its name. This name will be used to register passed object in the current folder. This name must be unique in the list of folders at the current folder's scope.

Definition at line 100 of file CdbBdbSFolderP.cc.

References BdbcSuccess, BdbIsNull, cout, d_True, CdbStatus::Error, CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), ooString(), result, CdbPathName::separator(), CdbStatus::Success, and theRef.

Referenced by CdbBdbSViewP::cloneComponents(), and createFolder().

CdbBdbSFolderP::ooString 32    [private]
 

CdbBdbSFolderP::ooString 32    [private]
 

CdbBdbSFolderP::ooString 32    const
 

CdbBdbSFolderP::ooString 32    const
 

Referenced by insert().

CdbStatus CdbBdbSFolderP::removeCondition const CdbPathName   thePathName [private]
 

Remove the condition.

This operation requires the name of the condition, which is _directly_ connected to the current object. If there is no such condition then CdbStatus::NotFound will be returned. Other status values are as usual.

Parameters:
thePathName  the path name of the folder to be removed

Definition at line 405 of file CdbBdbSFolderP.cc.

References BdbcSuccess, BdbDelete, BdbIsNull, BdbRef(), cout, CdbStatus::Error, CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), CdbStatus::NotFound, result, CdbPathName::separator(), and CdbStatus::Success.

CdbStatus CdbBdbSFolderP::removeFolder const CdbPathName   thePathName [private]
 

Remove the folder (and its subfolders and conditions).

This operation requires the name of the folder, which is _directly_ connected to the current object. If there is no such folder then CdbStatus::NotFound will be returned. Other status values are as usual.

Parameters:
thePathName  the path name of the folder to be removed

Definition at line 344 of file CdbBdbSFolderP.cc.

References BdbcSuccess, BdbDelete, BdbIsNull, BdbRef(), cout, CdbStatus::Error, CdbPathName::isAbsolute(), CdbPathName::isComposite(), CdbPathName::isValid(), CdbStatus::NotFound, result, CdbPathName::separator(), and CdbStatus::Success.


Friends And Related Function Documentation

friend class CdbBdbSViewP [friend]
 

Definition at line 54 of file CdbBdbSFolderP.ddl.


Member Data Documentation

BdbTime CdbBdbSFolderP::_created [private]
 

Definition at line 197 of file CdbBdbSFolderP.ddl.

Referenced by CdbBdbSFolderP(), created(), and dump().


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