librcsb-core-wrapper  1.000
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ObjCont Class Reference

Public class that represents a generic object container. More...

#include <DictObjCont.h>

Inheritance diagram for ObjCont:
Inheritance graph
Collaboration diagram for ObjCont:
Collaboration graph

Public Member Functions

 ObjCont (Serializer &ser, DicFile &dicFile, const string &blockName, const string &id, const ObjContInfo &objContInfo)
 
virtual ~ObjCont ()
 
void Init ()
 
const string & GetName () const
 
virtual void Read (UInt32 which, unsigned int Index=0)
 
virtual UInt32 Write ()
 
const vector< string > & GetAttribute (const string &catName, const string &itemName) const
 
void Print () const
 
void SetVerbose (bool verbose)
 
virtual void Build ()
 

Protected Member Functions

virtual void BuildItems (vector< vector< string > > &combo, const unsigned int configIndex)
 
void BuildItems (vector< vector< string > > &combo, const unsigned int configIndex, const string &value)
 

Protected Attributes

Serializer_ser
 
DicFile_dicFile
 
const ObjContInfo_objContInfo
 
string _blockName
 
string _id
 
bool _verbose
 
vector< UInt32_index
 
vector< vector< vector< string > > > _itemsStore
 

Detailed Description

Public class that represents a generic object container.

This class represents a generic object container of attributes. It is to be used directly or as a base class for non-generic object containers. This class provides methods for retrieving its attributes and printing its content.

Constructor & Destructor Documentation

ObjCont::ObjCont ( Serializer ser,
DicFile dicFile,
const string &  blockName,
const string &  id,
const ObjContInfo objContInfo 
)

Utility method, not part of users public API, and will soon be removed.

virtual ObjCont::~ObjCont ( )
virtual

Utility method, not part of users public API, and will soon be removed.

Member Function Documentation

virtual void ObjCont::Build ( )
virtual

Utility method, not part of users public API, and will soon be removed.

Reimplemented in DictObjCont, and ItemObjCont.

virtual void ObjCont::BuildItems ( vector< vector< string > > &  combo,
const unsigned int  configIndex 
)
protectedvirtual
void ObjCont::BuildItems ( vector< vector< string > > &  combo,
const unsigned int  configIndex,
const string &  value 
)
protected
const vector<string>& ObjCont::GetAttribute ( const string &  catName,
const string &  itemName 
) const

Retrieves a constant reference to the vector of values of the object container attribute, which is specified with a category name and an item name.

Parameters
[in]catName- category name
[in]itemName- item name
Returns
Constant reference to the vector of attribute values.
Precondition
Category with name catName and item with name itemName must be present
Postcondition
None
Exceptions
NotFoundException- if category with name catName or item with name itemName does not exist
const string& ObjCont::GetName ( ) const

Must stay in public API.

void ObjCont::Init ( )

Utility method, not part of users public API, and will soon be removed.

void ObjCont::Print ( ) const

Prints the content of the object container.

Parameters
None
Returns
None
Precondition
None
Postcondition
None
Exceptions
None
virtual void ObjCont::Read ( UInt32  which,
unsigned int  Index = 0 
)
virtual

Utility method, not part of users public API, and will soon be removed.

Reimplemented in DictObjCont.

void ObjCont::SetVerbose ( bool  verbose)

Utility method, not part of users public API, and will soon be removed.

virtual UInt32 ObjCont::Write ( )
virtual

Utility method, not part of users public API, and will soon be removed.

Reimplemented in DictObjCont.

Member Data Documentation

string ObjCont::_blockName
protected
DicFile& ObjCont::_dicFile
protected
string ObjCont::_id
protected
vector<UInt32> ObjCont::_index
protected
vector<vector<vector<string> > > ObjCont::_itemsStore
protected
const ObjContInfo& ObjCont::_objContInfo
protected
Serializer& ObjCont::_ser
protected
bool ObjCont::_verbose
protected

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