#include <XMLAdapter.hxx>
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.
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 () |
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.
std::string CLAM::XMLAdapter< T >::XMLContent | ( | ) | const [inline, virtual] |
bool CLAM::XMLAdapter< T >::XMLContent | ( | std::istream & | str | ) | [inline, virtual] |
bool CLAM::XMLAdapter< T >::FulfilsInvariant | ( | ) | [inline] |
Reimplemented from CLAM::BasicXMLable.
Definition at line 114 of file XMLAdapter.hxx.
References CLAM::BasicXMLable::FulfilsInvariant().