This class adapts to the XMLable interface any basic object. More...
#include <XMLAdapter.hxx>
Public Types | |
| typedef BasicXMLable | super |
| typedef T | t_adaptee |
Public Member Functions | |
| XMLAdapter (t_adaptee &anAdaptee, const char *name=NULL, bool isXMLElement=false) | |
| Constructs a XMLAdapter. | |
| XMLAdapter (const t_adaptee &anAdaptee, const char *name=NULL, bool isXMLElement=false) | |
| virtual | ~XMLAdapter () |
| std::string | XMLContent () const |
| bool | XMLContent (std::istream &str) |
| bool | FulfilsInvariant () |
This class adapts to the XMLable interface any basic object.
A basic object is that one that has the insertion (<<) and extractor (>>) operators defined to streams and there exists a TypeInfo struct for it (see CLAM_TYPE_INFO_GROUP). The adapter uses such operators to calculate the XML content on writing and reconstruct the object on reading.
During the construction, the adapter stores a reference to the adaptee. The content string extracted on demand when the adapter is stored on a XMLStorage, so the adapter is sensitive to the adaptee changes after the construction.
Important: At storage time, the adaptee must exist in order to follow the reference.
Pay attention to the management of the name memory
Definition at line 57 of file XMLAdapter.hxx.
| typedef BasicXMLable CLAM::XMLAdapter< T >::super |
Definition at line 60 of file XMLAdapter.hxx.
| typedef T CLAM::XMLAdapter< T >::t_adaptee |
Definition at line 61 of file XMLAdapter.hxx.
| CLAM::XMLAdapter< T >::XMLAdapter | ( | t_adaptee & | anAdaptee, | |
| const char * | name = NULL, |
|||
| bool | isXMLElement = false | |||
| ) | [inline] |
Constructs a XMLAdapter.
| anAdaptee | The object to be adapted (where the XML content will be extracted from) | |
| name | A pointer to a 0 terminated string containing the xml name (for elements and attributes) or 0 (the default) if the element is neither an element nor an attribute ( |
| isXMLElement | Tells whether the object is an element or an attribute when the name is defined. |
Definition at line 82 of file XMLAdapter.hxx.
| CLAM::XMLAdapter< T >::XMLAdapter | ( | const t_adaptee & | anAdaptee, | |
| const char * | name = NULL, |
|||
| bool | isXMLElement = false | |||
| ) | [inline] |
Definition at line 86 of file XMLAdapter.hxx.
| virtual CLAM::XMLAdapter< T >::~XMLAdapter | ( | ) | [inline, virtual] |
Definition at line 90 of file XMLAdapter.hxx.
| bool CLAM::XMLAdapter< T >::FulfilsInvariant | ( | ) | [inline] |
Reimplemented from CLAM::BasicXMLable.
Definition at line 114 of file XMLAdapter.hxx.
References CLAM::BasicXMLable::FulfilsInvariant().
| bool CLAM::XMLAdapter< T >::XMLContent | ( | std::istream & | str | ) | [inline, virtual] |
| std::string CLAM::XMLAdapter< T >::XMLContent | ( | ) | const [inline, virtual] |
Implements CLAM::BasicXMLable.
Definition at line 97 of file XMLAdapter.hxx.
1.6.3