27 std::multimap<std::string,
34 RCObject(), itsName(name), itsHelp(help), itsDefault(def),
35 is_deferred(
false), is_readonly(
false)
45 "Internal error: should not call this method.");
54 "Attribute \"" +
itsName +
"\" has no default value.");
73 "You cannot assign to a component of \"" + itsName +
74 "\" which is not a vector value.");
98 std::multimap<OwnerType, std::string> possibleOwners;
103 for (
auto it = its.first; it != its.second; ++ it) {
104 auto owner = it->second;
106 possibleOwners.insert(std::make_pair(owner.first, owner.second));
110 return possibleOwners;
115 const std::string &name) {
Abstract base class for attribute values of different types.
virtual void parseComponent(Attribute &a, Statement &s, bool eval, int i) const
Parse component value.
Pointer< AttributeBase > itsDefault
Default value.
bool is_deferred
Defer flag.
The base class for all OPAL exceptions.
const std::string itsName
Attribute name.
const std::string itsHelp
Help text.
void setReadOnly(bool)
Set or reset read-only flag.
void setDeferred(bool)
Set or reset defer flag.
static void addAttributeOwner(const std::string &owner, const OwnerType &type, const std::string &name)
virtual ~AttributeHandler()
virtual AttributeBase * getDefault() const
Return default value.
virtual const std::string & getHelp() const
Return help string.
A representation of an Object attribute.
virtual const std::string & getName() const
Return attribute name.
Interface for statements.
virtual AttributeHandler * clone() const
Make clone.
Abstract base class for attribute parsers.
bool isValid() const
Test for validity.
bool isDeferred() const
Return defer flag.
Abstract base class for reference counted objects.
static std::multimap< OwnerType, std::string > getOwner(const std::string &att)
static std::multimap< std::string, std::pair< OwnerType, std::string > > attributeOwnerDictionary_s
bool is_readonly
Read-only flag.
bool isReadOnly() const
Return read-only flag.