Class that catch XML Parser events for a specific tag and build the corresponding Object.
More...
#include <hpp/manipulation/parser/parser.hh>
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:
- Note
- The derived class must have the following construtor
◆ ObjectFactoryList
◆ ObjectFactory() [1/2]
hpp::manipulation::parser::ObjectFactory::ObjectFactory |
( |
ObjectFactory * |
parent = NULL , |
|
|
const XMLElement * |
element = NULL |
|
) |
| |
◆ ~ObjectFactory()
virtual hpp::manipulation::parser::ObjectFactory::~ObjectFactory |
( |
| ) |
|
|
inlinevirtual |
◆ ObjectFactory() [2/2]
hpp::manipulation::parser::ObjectFactory::ObjectFactory |
( |
RootFactory * |
root | ) |
|
|
protected |
◆ addChild()
void hpp::manipulation::parser::ObjectFactory::addChild |
( |
ObjectFactory * |
child | ) |
|
|
protected |
◆ addTextChild()
virtual void hpp::manipulation::parser::ObjectFactory::addTextChild |
( |
const XMLText * |
text | ) |
|
|
virtual |
◆ as()
template<typename T >
T* hpp::manipulation::parser::ObjectFactory::as |
( |
| ) |
|
|
inline |
Cast this class to any child class.
◆ finishAttributes()
virtual bool hpp::manipulation::parser::ObjectFactory::finishAttributes |
( |
| ) |
|
|
virtual |
◆ finishFile()
virtual void hpp::manipulation::parser::ObjectFactory::finishFile |
( |
| ) |
|
|
virtual |
Called when parsing is finished.
◆ finishTags()
virtual void hpp::manipulation::parser::ObjectFactory::finishTags |
( |
| ) |
|
|
virtual |
◆ getAttribute()
std::string hpp::manipulation::parser::ObjectFactory::getAttribute |
( |
const std::string & |
attr | ) |
const |
Return a given attributes.
◆ getChildOfType()
bool hpp::manipulation::parser::ObjectFactory::getChildOfType |
( |
std::string |
type, |
|
|
ObjectFactory *& |
o |
|
) |
| |
Get the ObjectFactory whose tag name is type.
- Parameters
-
[out] | o | Set to the first element of the requested type. |
- Returns
- true if there was only element of the requested type. false if there are more than one.
- Exceptions
-
std::invalid_argument | if no ObjectFactory of the requested type exists. |
◆ getChildrenOfType()
ObjectFactoryList hpp::manipulation::parser::ObjectFactory::getChildrenOfType |
( |
std::string |
type | ) |
|
◆ hasAttribute()
bool hpp::manipulation::parser::ObjectFactory::hasAttribute |
( |
const std::string & |
attr | ) |
const |
Check if an attribute was set.
◆ hasParent()
bool hpp::manipulation::parser::ObjectFactory::hasParent |
( |
| ) |
const |
|
protected |
◆ impl_setAttribute()
virtual void hpp::manipulation::parser::ObjectFactory::impl_setAttribute |
( |
const XMLAttribute * |
attr | ) |
|
|
protectedvirtual |
◆ init()
virtual bool hpp::manipulation::parser::ObjectFactory::init |
( |
| ) |
|
|
virtual |
◆ name() [1/3]
std::string hpp::manipulation::parser::ObjectFactory::name |
( |
| ) |
const |
Return the content of the attribute name, or an empty string.
◆ name() [2/3]
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.
◆ name() [3/3]
void hpp::manipulation::parser::ObjectFactory::name |
( |
const char * |
n | ) |
|
◆ parent()
ObjectFactory* hpp::manipulation::parser::ObjectFactory::parent |
( |
| ) |
|
|
protected |
◆ print()
virtual std::ostream& hpp::manipulation::parser::ObjectFactory::print |
( |
std::ostream & |
os | ) |
const |
|
protectedvirtual |
◆ root()
RootFactory* hpp::manipulation::parser::ObjectFactory::root |
( |
| ) |
|
|
protected |
◆ setAttribute()
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.
◆ tagName()
std::string hpp::manipulation::parser::ObjectFactory::tagName |
( |
| ) |
const |
Return tag name of the element is any. Returns "No element" otherwise.
◆ XMLelement()
const XMLElement* hpp::manipulation::parser::ObjectFactory::XMLelement |
( |
| ) |
|
|
protected |
◆ operator<<
std::ostream& operator<< |
( |
std::ostream & |
, |
|
|
const ObjectFactory & |
|
|
) |
| |
|
friend |
The documentation for this class was generated from the following file: