OPAL (Object Oriented Parallel Accelerator Library)  2.2.0
OPAL
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Private Member Functions | Static Private Attributes | List of all members
AttributeHandler Class Referenceabstract

Abstract base class for attribute parsers. More...

#include <AttributeHandler.h>

Inheritance diagram for AttributeHandler:
Inheritance graph
[legend]
Collaboration diagram for AttributeHandler:
Collaboration graph
[legend]

Public Types

enum  OwnerType {
  ELEMENT, COMMAND, SUB_COMMAND, STATEMENT,
  NONE
}
 

Public Member Functions

 AttributeHandler (const std::string &name, const std::string &help, AttributeBase *def)
 Constructor. More...
 
virtual ~AttributeHandler ()
 
virtual AttributeHandlerclone () const
 Make clone. More...
 
virtual AttributeBasegetDefault () const
 Return default value. More...
 
virtual const std::string & getHelp () const
 Return help string. More...
 
virtual const std::string & getName () const
 Return attribute name. More...
 
virtual const std::string & getType () const =0
 Return attribute type. More...
 
virtual void parse (Attribute &a, Statement &s, bool eval) const =0
 Parse new value. More...
 
virtual void parseComponent (Attribute &a, Statement &s, bool eval, int i) const
 Parse component value. More...
 
bool isDeferred () const
 Return defer flag. More...
 
void setDeferred (bool)
 Set or reset defer flag. More...
 
bool isReadOnly () const
 Return read-only flag. More...
 
void setReadOnly (bool)
 Set or reset read-only flag. More...
 
- Public Member Functions inherited from RCObject
int addReference () const
 Increment reference count. More...
 
int removeReference () const
 Decrement the reference count. More...
 
bool isShared () const
 Test for sharing. More...
 

Static Public Member Functions

static std::multimap
< OwnerType, std::string > 
getOwner (const std::string &att)
 
static void addAttributeOwner (const std::string &owner, const OwnerType &type, const std::string &name)
 

Protected Attributes

const std::string itsName
 Attribute name. More...
 
const std::string itsHelp
 Help text. More...
 
Pointer< AttributeBaseitsDefault
 Default value. More...
 
bool is_deferred
 Defer flag. More...
 
bool is_readonly
 Read-only flag. More...
 

Private Member Functions

 AttributeHandler ()
 
 AttributeHandler (const AttributeHandler &)
 
void operator= (const AttributeHandler &)
 

Static Private Attributes

static std::multimap
< std::string, std::pair
< OwnerType, std::string > > 
attributeOwnerDictionary_s
 

Additional Inherited Members

- Protected Member Functions inherited from RCObject
 RCObject ()
 Default constructor. More...
 
 RCObject (const RCObject &)
 Copy constructor. More...
 
virtual ~RCObject ()=0
 
RCObjectoperator= (const RCObject &right)
 

Detailed Description

Abstract base class for attribute parsers.

Definition at line 48 of file AttributeHandler.h.

Member Enumeration Documentation

Enumerator
ELEMENT 
COMMAND 
SUB_COMMAND 
STATEMENT 
NONE 

Definition at line 114 of file AttributeHandler.h.

Constructor & Destructor Documentation

AttributeHandler::AttributeHandler ( const std::string &  name,
const std::string &  help,
AttributeBase def 
)

Constructor.

Definition at line 33 of file AttributeHandler.cpp.

AttributeHandler::~AttributeHandler ( )
virtual

Definition at line 39 of file AttributeHandler.cpp.

AttributeHandler::AttributeHandler ( )
private
AttributeHandler::AttributeHandler ( const AttributeHandler )
private

Member Function Documentation

void AttributeHandler::addAttributeOwner ( const std::string &  owner,
const OwnerType type,
const std::string &  name 
)
static
AttributeHandler * AttributeHandler::clone ( ) const
virtual

Make clone.

Definition at line 43 of file AttributeHandler.cpp.

AttributeBase * AttributeHandler::getDefault ( ) const
virtual

Return default value.

Definition at line 49 of file AttributeHandler.cpp.

References Pointer< Object >::isValid(), itsDefault, and itsName.

Referenced by Attribute::setDefault().

Here is the call graph for this function:

const std::string & AttributeHandler::getHelp ( ) const
virtual

Return help string.

Definition at line 59 of file AttributeHandler.cpp.

References itsHelp.

Referenced by Attribute::getHelp().

const std::string & AttributeHandler::getName ( ) const
virtual

Return attribute name.

Definition at line 64 of file AttributeHandler.cpp.

References itsName.

Referenced by Attribute::getName().

std::multimap< AttributeHandler::OwnerType, std::string > AttributeHandler::getOwner ( const std::string &  att)
static

Definition at line 97 of file AttributeHandler.cpp.

References attributeOwnerDictionary_s.

Referenced by OpalParser::getHint().

virtual const std::string& AttributeHandler::getType ( ) const
pure virtual
bool AttributeHandler::isDeferred ( ) const

Return defer flag.

Definition at line 78 of file AttributeHandler.cpp.

References is_deferred.

Referenced by Attribute::isDeferred(), and Attributes::Real::parse().

bool AttributeHandler::isReadOnly ( ) const

Return read-only flag.

Definition at line 88 of file AttributeHandler.cpp.

References is_readonly.

Referenced by Attribute::isReadOnly().

void AttributeHandler::operator= ( const AttributeHandler )
private
virtual void AttributeHandler::parse ( Attribute a,
Statement s,
bool  eval 
) const
pure virtual
void AttributeHandler::parseComponent ( Attribute a,
Statement s,
bool  eval,
int  i 
) const
virtual

Parse component value.

Reimplemented in Attributes::TokenListArray, Attributes::BoolArray, Attributes::RealArray, and Attributes::StringArray.

Definition at line 70 of file AttributeHandler.cpp.

Referenced by Attribute::parseComponent().

void AttributeHandler::setDeferred ( bool  flag)

Set or reset defer flag.

Definition at line 83 of file AttributeHandler.cpp.

References is_deferred.

Referenced by Attribute::setDeferred().

void AttributeHandler::setReadOnly ( bool  flag)

Set or reset read-only flag.

Definition at line 93 of file AttributeHandler.cpp.

References is_readonly.

Referenced by Attribute::setReadOnly().

Member Data Documentation

std::multimap< std::string, std::pair< AttributeHandler::OwnerType, std::string > > AttributeHandler::attributeOwnerDictionary_s
staticprivate

Definition at line 147 of file AttributeHandler.h.

Referenced by addAttributeOwner(), and getOwner().

bool AttributeHandler::is_deferred
protected
bool AttributeHandler::is_readonly
protected

Read-only flag.

Definition at line 138 of file AttributeHandler.h.

Referenced by isReadOnly(), and setReadOnly().

Pointer<AttributeBase> AttributeHandler::itsDefault
protected

Default value.

Definition at line 132 of file AttributeHandler.h.

Referenced by getDefault().

const std::string AttributeHandler::itsHelp
protected

Help text.

Definition at line 129 of file AttributeHandler.h.

Referenced by getHelp().

const std::string AttributeHandler::itsName
protected

Attribute name.

Definition at line 126 of file AttributeHandler.h.

Referenced by getDefault(), and getName().


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