OPALX (Object Oriented Parallel Accelerator Library for Exascal) master (dc2a29eed580)
OPALX
Loading...
Searching...
No Matches
AttributeHandler Class Referenceabstract

Abstract base class for attribute parsers. More...

#include <AttributeHandler.h>

Inheritance diagram for AttributeHandler:
Inheritance graph
Collaboration diagram for AttributeHandler:
Collaboration graph

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.
 
virtual ~AttributeHandler ()
 
virtual AttributeBasegetDefault () const
 Return default value.
 
virtual const std::string & getHelp () const
 Return help string.
 
virtual const std::string & getName () const
 Return attribute name.
 
virtual const std::string & getType () const =0
 Return attribute type.
 
virtual void parse (Attribute &a, Statement &s, bool eval) const =0
 Parse new value.
 
virtual void parseComponent (Attribute &a, Statement &s, bool eval, int i) const
 Parse component value.
 
bool isDeferred () const
 Return defer flag.
 
void setDeferred (bool)
 Set or reset defer flag.
 
bool isReadOnly () const
 Return read-only flag.
 
void setReadOnly (bool)
 Set or reset read-only flag.
 
void setPredefinedValues (const std::set< std::string > &, const std::string &)
 Add predefined strings values to the help.
 

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.
 
const std::string itsHelp
 Help text.
 
std::shared_ptr< AttributeBaseitsDefault
 Default value.
 
bool is_deferred
 Defer flag.
 
bool is_readonly
 Read-only flag.
 

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
 

Detailed Description

Abstract base class for attribute parsers.

Definition at line 49 of file AttributeHandler.h.

Member Enumeration Documentation

◆ OwnerType

Enumerator
ELEMENT 
COMMAND 
SUB_COMMAND 
STATEMENT 
NONE 

Definition at line 109 of file AttributeHandler.h.

Constructor & Destructor Documentation

◆ AttributeHandler() [1/3]

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

Constructor.

Definition at line 30 of file AttributeHandler.cpp.

◆ ~AttributeHandler()

AttributeHandler::~AttributeHandler ( )
virtual

Definition at line 38 of file AttributeHandler.cpp.

◆ AttributeHandler() [2/3]

AttributeHandler::AttributeHandler ( )
private

◆ AttributeHandler() [3/3]

AttributeHandler::AttributeHandler ( const AttributeHandler )
private

Member Function Documentation

◆ addAttributeOwner()

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

◆ getDefault()

AttributeBase * AttributeHandler::getDefault ( ) const
virtual

Return default value.

Definition at line 40 of file AttributeHandler.cpp.

References itsDefault, and itsName.

◆ getHelp()

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

Return help string.

Definition at line 50 of file AttributeHandler.cpp.

References itsHelp.

Referenced by Attribute::getHelp().

◆ getName()

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

Return attribute name.

Definition at line 52 of file AttributeHandler.cpp.

References itsName.

◆ getOwner()

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

Definition at line 84 of file AttributeHandler.cpp.

References attributeOwnerDictionary_s.

Referenced by OpalParser::getHint().

◆ getType()

◆ isDeferred()

bool AttributeHandler::isDeferred ( ) const

Return defer flag.

Definition at line 61 of file AttributeHandler.cpp.

References is_deferred.

Referenced by Attributes::Real::parse().

◆ isReadOnly()

bool AttributeHandler::isReadOnly ( ) const

Return read-only flag.

Definition at line 65 of file AttributeHandler.cpp.

References is_readonly.

◆ operator=()

void AttributeHandler::operator= ( const AttributeHandler )
private

◆ parse()

◆ parseComponent()

void AttributeHandler::parseComponent ( Attribute a,
Statement s,
bool  eval,
int  i 
) const
virtual

◆ setDeferred()

void AttributeHandler::setDeferred ( bool  flag)

Set or reset defer flag.

Definition at line 63 of file AttributeHandler.cpp.

References is_deferred.

◆ setPredefinedValues()

void AttributeHandler::setPredefinedValues ( const std::set< std::string > &  predefinedValues,
const std::string &  defaultValue 
)

Add predefined strings values to the help.

Definition at line 69 of file AttributeHandler.cpp.

References itsHelp.

Referenced by Attributes::PredefinedString::PredefinedString().

◆ setReadOnly()

void AttributeHandler::setReadOnly ( bool  flag)

Set or reset read-only flag.

Definition at line 67 of file AttributeHandler.cpp.

References is_readonly.

Member Data Documentation

◆ attributeOwnerDictionary_s

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

Definition at line 138 of file AttributeHandler.h.

Referenced by addAttributeOwner(), and getOwner().

◆ is_deferred

bool AttributeHandler::is_deferred
protected

◆ is_readonly

bool AttributeHandler::is_readonly
protected

Read-only flag.

Definition at line 129 of file AttributeHandler.h.

Referenced by isReadOnly(), and setReadOnly().

◆ itsDefault

std::shared_ptr<AttributeBase> AttributeHandler::itsDefault
protected

Default value.

Definition at line 123 of file AttributeHandler.h.

Referenced by getDefault().

◆ itsHelp

const std::string AttributeHandler::itsHelp
protected

Help text.

Definition at line 120 of file AttributeHandler.h.

Referenced by getHelp(), and setPredefinedValues().

◆ itsName

const std::string AttributeHandler::itsName
protected

Attribute name.

Definition at line 117 of file AttributeHandler.h.

Referenced by getDefault(), getName(), and parseComponent().


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