|
hpp-manipulation-urdf 9.0.2
Implementation of a parser for hpp-manipulation.
|
Class that catch XML Parser events for a specific tag and build the corresponding Object. More...
#include <hpp/manipulation/parser/parser.hh>

Public Types | |
| typedef std::vector< ObjectFactory * > | ObjectFactoryList |
Public Member Functions | |
| ObjectFactory (ObjectFactory *parent=NULL, const XMLElement *element=NULL) | |
| virtual | ~ObjectFactory () |
| void | name (const std::string &n) |
| void | name (const char *n) |
| See name(const std::string&). | |
| template<typename T> | |
| T * | as () |
| Cast this class to any child class. | |
Events | |
| virtual bool | init () |
| void | setAttribute (const XMLAttribute *attr) |
| virtual void | addTextChild (const XMLText *text) |
| Add Text child. | |
| virtual bool | finishAttributes () |
| virtual void | finishTags () |
| Called when all the child tags have been processed. | |
| virtual void | finishFile () |
| Called when parsing is finished. | |
Accessors | |
| std::string | tagName () const |
| std::string | name () const |
| bool | hasAttribute (const std::string &attr) const |
| Check if an attribute was set. | |
| std::string | getAttribute (const std::string &attr) const |
| Return a given attributes. | |
| ObjectFactoryList | getChildrenOfType (std::string type) |
| Get a list of ObjectFactory whose tag name is type. | |
| bool | getChildOfType (std::string type, ObjectFactory *&o) |
Protected Member Functions | |
| ObjectFactory (RootFactory *root) | |
| ObjectFactory * | parent () |
| RootFactory * | root () |
| bool | hasParent () const |
| const XMLElement * | XMLelement () |
| virtual void | impl_setAttribute (const XMLAttribute *attr) |
| void | addChild (ObjectFactory *child) |
| virtual std::ostream & | print (std::ostream &os) const |
Class that catch XML Parser events for a specific tag and build the corresponding Object.
Derive this class if you wish to extend the Parser. The event callbacks are called in the following order:
| typedef std::vector<ObjectFactory*> hpp::manipulation::parser::ObjectFactory::ObjectFactoryList |
| hpp::manipulation::parser::ObjectFactory::ObjectFactory | ( | ObjectFactory * | parent = NULL, |
| const XMLElement * | element = NULL ) |
|
protected |
|
inlinevirtual |
|
protected |
|
virtual |
Add Text child.
|
inline |
Cast this class to any child class.
|
virtual |
Called when all the attributes have been processed.
|
virtual |
Called when parsing is finished.
|
virtual |
Called when all the child tags have been processed.
| std::string hpp::manipulation::parser::ObjectFactory::getAttribute | ( | const std::string & | attr | ) | const |
Return a given attributes.
| bool hpp::manipulation::parser::ObjectFactory::getChildOfType | ( | std::string | type, |
| ObjectFactory *& | o ) |
Get the ObjectFactory whose tag name is type.
| [out] | o | Set to the first element of the requested type. |
| std::invalid_argument | if no ObjectFactory of the requested type exists. |
| ObjectFactoryList hpp::manipulation::parser::ObjectFactory::getChildrenOfType | ( | std::string | type | ) |
Get a list of ObjectFactory whose tag name is type.
| bool hpp::manipulation::parser::ObjectFactory::hasAttribute | ( | const std::string & | attr | ) | const |
Check if an attribute was set.
|
protected |
|
protectedvirtual |
|
virtual |
Called when the object is created.
| std::string hpp::manipulation::parser::ObjectFactory::name | ( | ) | const |
Return the content of the attribute name, or an empty string.
| void hpp::manipulation::parser::ObjectFactory::name | ( | const char * | n | ) |
| void hpp::manipulation::parser::ObjectFactory::name | ( | const std::string & | n | ) |
Set the name. The default value is the value of the attribute "name" of the XML tag or an empty string if this does not exist.
|
protected |
|
protectedvirtual |
|
protected |
| void hpp::manipulation::parser::ObjectFactory::setAttribute | ( | const XMLAttribute * | attr | ) |
Called for each attribute. A few reserved name are automatocally catched. The reserved names are "name" and "id". "name" expects a string. "id" expects an unsigned integer and can be use to define pointers to elements.
| std::string hpp::manipulation::parser::ObjectFactory::tagName | ( | ) | const |
Return tag name of the element is any. Returns "No element" otherwise.
|
protected |