Public Member Functions | Protected Types | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes | List of all members
HiNTupleXML Class Reference

A singleton class that is does XML serialization and deserialization of derived classes of HiNTuple. More...

#include <HiNTupleXML.h>

Inheritance diagram for HiNTupleXML:
Inheritance graph
[legend]
Collaboration diagram for HiNTupleXML:
Collaboration graph
[legend]

Public Member Functions

XmlElementcreateElement (const DataSource &ntuple)
 Returns a newly created XmlElement for DataSource.
XmlElementcreateElement ()
 Creates a new element node.
void fillNodeList (const XmlElement *element, std::list< XmlElement * > &nodelist)
 Fills the nodelist with immediate child nodes of element with nodes that can be handled by this object.
std::string getName (const XmlElement &tag) const
 Returns the name of the HiNTuple object.
const XmlElementgetNode (const XmlElement *element) const
 Returns the single child node of element of the type that can be handled by this object.
const DataSourcegetObject (const XmlElement &tag) const
 Returns the DataSource corresponding to XmlElement.
const DataSourcegetObject (const std::string) const
 Returns the DataSource corresponding to the filename.
 HiNTupleXML (XmlController *)
 The only public constructor.
virtual const std::string & tagName () const
 Returns the tag name used by this class.

Protected Types

typedef std::list< XmlElement * > NodeList_t
 The container type for element nodes.

Protected Member Functions

void setId (XmlElement &tag, int id)
 Sets the unique identification of the object.

Protected Attributes

XmlControllerm_controller
 The singleton XML controller object.
const std::string m_id
 The attribute name for the identification of the object.
const std::string m_tagname
 The tag name used for elements created by this class.
const std::string m_type
 The attribute name for the type of object.

Private Member Functions

 HiNTupleXML (const HiNTupleXML &)
 A private copy constructor in order to avoid copying.

Private Attributes

std::string m_name
 The tag name for the name attribute.

Detailed Description

A singleton class that is does XML serialization and deserialization of derived classes of HiNTuple.

Author
Paul F. Kunz Paul_.nosp@m.Kunz.nosp@m.@slac.nosp@m..sta.nosp@m.nford.nosp@m..edu

Definition at line 29 of file HiNTupleXML.h.

Member Typedef Documentation

typedef std::list< XmlElement * > NodeList_t
protectedinherited

The container type for element nodes.

Definition at line 47 of file BaseXML.h.

Constructor & Destructor Documentation

HiNTupleXML ( const HiNTupleXML )
private

A private copy constructor in order to avoid copying.

HiNTupleXML ( XmlController controller)

The only public constructor.

Definition at line 46 of file HiNTupleXML.cxx.

Member Function Documentation

XmlElement * createElement ( const DataSource ntuple)
XmlElement * createElement ( )
inherited
void fillNodeList ( const XmlElement element,
std::list< XmlElement * > &  nodelist 
)
inherited
string getName ( const XmlElement tag) const

Returns the name of the HiNTuple object.

Todo:
Implement M4 macro to detect missing string::clear(). Gcc 2.95.3 is missing this function, while gcc 3.2.1 has it.

Definition at line 68 of file HiNTupleXML.cxx.

References XmlElement::attribute(), and HiNTupleXML::m_name.

Referenced by HiNTupleXML::getObject(), and XmlController::openNTuples().

const XmlElement * getNode ( const XmlElement element) const
inherited

Returns the single child node of element of the type that can be handled by this object.

If no such node exists, returns a null pointer.

Definition at line 53 of file BaseXML.cxx.

References XmlElement::getNode(), and BaseXML::m_tagname.

Referenced by PointRepXML::createObject(), DataRepXML::createObject(), BinningProjectorXML::getObject(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), and BinningProjectorXML::setBins().

const DataSource * getObject ( const XmlElement tag) const

Returns the DataSource corresponding to XmlElement.

Definition at line 142 of file HiNTupleXML.cxx.

References HiNTupleXML::getName().

Referenced by XmlController::openNTuples(), and XmlController::openUpdatedNTuples().

const DataSource * getObject ( const std::string  fullname) const

Returns the DataSource corresponding to the filename.

Definition at line 85 of file HiNTupleXML.cxx.

References NTupleController::createNTuple(), FitsController::instance(), NTupleController::instance(), and RootController::instance().

void setId ( XmlElement tag,
int  id 
)
protectedinherited
const string & tagName ( ) const
virtualinherited

Returns the tag name used by this class.

Definition at line 48 of file BaseXML.cxx.

References BaseXML::m_tagname.

Member Data Documentation

XmlController* m_controller
protectedinherited
const std::string m_id
protectedinherited

The attribute name for the identification of the object.

Definition at line 57 of file BaseXML.h.

Referenced by BaseXML::setId().

std::string m_name
private

The tag name for the name attribute.

Definition at line 38 of file HiNTupleXML.h.

Referenced by HiNTupleXML::createElement(), and HiNTupleXML::getName().

const std::string m_tagname
protectedinherited

The tag name used for elements created by this class.

Definition at line 50 of file BaseXML.h.

Referenced by BaseXML::createElement(), BaseXML::fillNodeList(), BaseXML::getNode(), and BaseXML::tagName().

const std::string m_type
protectedinherited

The documentation for this class was generated from the following files:

Generated for HippoDraw Class Library by doxygen