|
|
#include <ArmarXCore/core/application/properties/IceProperties.h>
Inheritance diagram for IceProperties::InheritanceSolver:Public Types | |
| using | NamespaceMap = std::map< std::string, bool > |
Public Member Functions | |
| void | extractNamespaces (const Ice::PropertiesPtr &properties, NamespaceMap &namespaces) |
| Extracts all existing namespace within the passed property container. More... | |
| std::string | getParent (const std::string &childNamespace, const Ice::PropertiesPtr &properties) |
| Returns the parent namespace of a child namespace. More... | |
| bool | hasParent (const std::string &childNamespace, const Ice::PropertiesPtr &properties) |
| Checks whether the specified namespace has a parent which it inherits from. More... | |
| void | inherit (const std::string &childNamespace, const std::string &parentNamespace, Ice::PropertiesPtr &properties, std::vector< std::string > heritageLine) |
| Performs the inheritance of properties from parentNamespace to childNamespace. More... | |
| bool | isInHeritageLine (const std::vector< std::string > &heritageLine, const std::string &namespace_) |
| Checks whether the specified namespace exists already in the heritageLine. More... | |
| void | resolveInheritance (Ice::PropertiesPtr &properties) |
| Resolves all inheritance specifications made using the config notation "<namespace>.inheritFrom = <namespace>" while <namespace> is <domain>. More... | |
| void | resolveNamespaceInheritance (const std::string &childNamespace, Ice::PropertiesPtr &properties) |
| Resolves namespace inheritance for a specific namespace. More... | |
| std::string | stripNamespace (const std::string &propertyName, const std::string &namespace_) |
| Removes the namespace of the property name. More... | |
| ~InheritanceSolver () override | |
Definition at line 212 of file IceProperties.h.
| using NamespaceMap = std::map<std::string, bool> |
Definition at line 215 of file IceProperties.h.
|
override |
Definition at line 238 of file IceProperties.cpp.
| void extractNamespaces | ( | const Ice::PropertiesPtr & | properties, |
| NamespaceMap & | namespaces | ||
| ) |
Extracts all existing namespace within the passed property container.
More simply it extracts all existing prefixes.
| [in] | properties | Input property container |
| [out] | namespaces | Extracted properties |
Definition at line 260 of file IceProperties.cpp.
| std::string getParent | ( | const std::string & | childNamespace, |
| const Ice::PropertiesPtr & | properties | ||
| ) |
Returns the parent namespace of a child namespace.
| [in] | childNamespace | Child namespace. |
| [in] | properties | Input properties containing inheritance specifications. |
Definition at line 298 of file IceProperties.cpp.
| bool hasParent | ( | const std::string & | childNamespace, |
| const Ice::PropertiesPtr & | properties | ||
| ) |
Checks whether the specified namespace has a parent which it inherits from.
The inheritance is specified via a property as follows: <childNamespace>.inheritFrom = <parentNamespace>.
<childNamespace> can be anything. Usually it consists of the <domain> and <object-name>.
| [in] | childNamespace | Child namespace. |
| [in] | properties | Input properties containing inheritance specifications. |
Definition at line 283 of file IceProperties.cpp.
| void inherit | ( | const std::string & | childNamespace, |
| const std::string & | parentNamespace, | ||
| Ice::PropertiesPtr & | properties, | ||
| std::vector< std::string > | heritageLine | ||
| ) |
Performs the inheritance of properties from parentNamespace to childNamespace.
| [in] | childNamespace | Namespace requiring inheritance |
| [in] | parentNamespace | Parent namespace to inherit from. |
| properties | Input and output properties | |
| heritageLine | Heritage line vector. This is used to detect inheritance cycles. |
Definition at line 346 of file IceProperties.cpp.
| bool isInHeritageLine | ( | const std::vector< std::string > & | heritageLine, |
| const std::string & | namespace_ | ||
| ) |
Checks whether the specified namespace exists already in the heritageLine.
| [in] | heritageLine | Heritage line vector |
| [in] | namespace | The namespace to look for |
Definition at line 307 of file IceProperties.cpp.
| void resolveInheritance | ( | Ice::PropertiesPtr & | properties | ) |
Resolves all inheritance specifications made using the config notation "<namespace>.inheritFrom = <namespace>" while <namespace> is <domain>.
<object-name>.
| properties | The properties with inheritance specifications. The resolved inheritance is done within this property contain as well. |
Definition at line 243 of file IceProperties.cpp.
| void resolveNamespaceInheritance | ( | const std::string & | childNamespace, |
| Ice::PropertiesPtr & | properties | ||
| ) |
Resolves namespace inheritance for a specific namespace.
This will resolve all inheritance specifications of it's parent namespace.
| [in] | childNamespace | Namespace requiring inheritance |
| properties | Input and output properties |
Definition at line 333 of file IceProperties.cpp.
| std::string stripNamespace | ( | const std::string & | propertyName, |
| const std::string & | namespace_ | ||
| ) |
Removes the namespace of the property name.
"<namespace>.<property-name> = <propertyValue>" becomes "<property-name> = <property-value>".
Definition at line 326 of file IceProperties.cpp.