A base class of XML element controllers. More...
#include <BaseXML.h>
Public Member Functions | |
XmlElement * | createElement () |
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. | |
const XmlElement * | getNode (const XmlElement *element) const |
Returns the single child node of element of the type that can be handled by this object. | |
virtual const std::string & | tagName () const |
Returns the tag name used by this class. | |
virtual | ~BaseXML () |
The destructor. | |
Protected Types | |
typedef std::list< XmlElement * > | NodeList_t |
The container type for element nodes. | |
Protected Member Functions | |
BaseXML (const std::string &tagname, XmlController *) | |
A constructor that takes the tag name and XML controller object as arguments. | |
void | setId (XmlElement &tag, int id) |
Sets the unique identification of the object. | |
Protected Attributes | |
XmlController * | m_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 | |
BaseXML (const BaseXML &) | |
A private copy constructor in order to avoid copying. |
A base class of XML element controllers.
Its purpose is to provide consistency in naming convention of the generated XML files across possible concrete XML controllers.
Definition at line 35 of file BaseXML.h.
typedef std::list< XmlElement * > NodeList_t [protected] |
BaseXML | ( | const std::string & | tagname, | |
XmlController * | controller | |||
) | [protected] |
A constructor that takes the tag name and XML controller object as arguments.
Since a default constructor does not exist, derived class must use this constructor therefore guaranteeing that the tag name is always set by derived classes.
Definition at line 31 of file BaseXML.cxx.
~BaseXML | ( | ) | [virtual] |
The destructor.
Definition at line 39 of file BaseXML.cxx.
XmlElement * createElement | ( | ) |
Creates a new element node.
Uses the current document as determined by the XMLController.
Definition at line 43 of file BaseXML.cxx.
References XmlDocument::createElement(), BaseXML::m_tagname, and XmlController::m_xml_doc.
Referenced by PlotterBaseXML::createAxisModel(), DataRepXML::createChildren(), BinningProjectorXML::createChildren(), AxisModelXML::createChildren(), NTupleXML::createChildren2D(), PlotterBaseXML::createCutChildren(), ViewBaseXML::createElement(), TupleCutXML::createElement(), TransformXML::createElement(), PointRepXML::createElement(), PlotterBaseXML::createElement(), NTupleXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), ColorXML::createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), BinningProjectorXML::createElement(), BinnerAxisXML::createElement(), PlotterBaseXML::createFontElement(), and PlotterBaseXML::createFontElements().
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.
Definition at line 58 of file BaseXML.cxx.
References XmlElement::fillNodeList(), and BaseXML::m_tagname.
Referenced by ViewBaseXML::connectPlotters(), PlotterBaseXML::createAxisModels(), AxisModelXML::createChildren(), PlotterBaseXML::createFontObjects(), BinToColorXML::createObject(), BinsBaseXML::createObject(), XmlController::getDataReps(), PlotterBaseXML::getObject(), TupleCutXML::getObjects(), XmlController::getTupleCuts(), XmlController::getViews(), PlotterBaseXML::handleCutPlotter(), XmlController::openNTuples(), and TupleCutXML::setAttributes().
const XmlElement * getNode | ( | const XmlElement * | element | ) | const |
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(), PlotterBaseXML::getObject(), BinningProjectorXML::getObject(), ViewBaseXML::getObjects(), and BinningProjectorXML::setBins().
void setId | ( | XmlElement & | tag, | |
int | id | |||
) | [protected] |
Sets the unique identification of the object.
Definition at line 64 of file BaseXML.cxx.
References BaseXML::m_id, and XmlElement::setAttribute().
Referenced by ViewBaseXML::createElement(), TupleCutXML::createElement(), PlotterBaseXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), BinningProjectorXML::createElement(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().
const string & tagName | ( | ) | const [virtual] |
Returns the tag name used by this class.
Definition at line 48 of file BaseXML.cxx.
References BaseXML::m_tagname.
XmlController* m_controller [protected] |
The singleton XML controller object.
Definition at line 60 of file BaseXML.h.
Referenced by ViewBaseXML::connectPlotters(), NTupleProjectorXML::createChildren(), PlotterBaseXML::createCutChildren(), DataRepXML::createDataRep(), ViewBaseXML::createElement(), TupleCutXML::createElement(), PlotterBaseXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), DataRepXML::createElement(), BinningProjectorXML::createElement(), PlotterBaseXML::createFontObjects(), DataRepXML::createFunctionTargetChild(), DataRepXML::createObject(), PlotterBaseXML::createPlotter(), PlotterBaseXML::createTextChildren(), PlotterBaseXML::getCutTargets(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), PlotterBaseXML::handleCutPlotter(), PlotterBaseXML::handleFunction(), PlotterBaseXML::handleTextPlotter(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().
const std::string m_id [protected] |
The attribute name for the identification of the object.
Definition at line 57 of file BaseXML.h.
Referenced by BaseXML::setId().
const std::string m_tagname [protected] |
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 [protected] |
The attribute name for the type of object.
Used to create object from one of the classes derived from Factory.
Definition at line 54 of file BaseXML.h.
Referenced by DataRepXML::createDataRep(), TransformXML::createElement(), PlotterBaseXML::createElement(), DataRepXML::createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), TransformXML::createObject(), PointRepXML::createObject(), DataRepXML::createObject(), BinToColorXML::createObject(), BinsBaseXML::createObject(), BinnerAxisXML::createObject(), PlotterBaseXML::createPlotter(), PointRepXML::setAttributes(), and BinnerAxisXML::setAttributes().