Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members | Related Pages

BaseXML Class Reference

#include <BaseXML.h>

Inheritance diagram for BaseXML:

Inheritance graph
[legend]
Collaboration diagram for BaseXML:

Collaboration graph
[legend]
List of all members.

Detailed Description

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.

Author:
Paul F. Kunz <Paul_Kunz@slac.stanford.edu>

Definition at line 33 of file BaseXML.h.

Public Member Functions

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.
const XmlElementgetNode (const XmlElement *element) const
 Returns the single child node of element of the type that can be handled by this object.
virtual const std::stringtagName () 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

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

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


Member Typedef Documentation

typedef std::list< XmlElement * > BaseXML::NodeList_t [protected]
 

The container type for element nodes.

Definition at line 45 of file BaseXML.h.


Constructor & Destructor Documentation

BaseXML::BaseXML const BaseXML  )  [private]
 

A private copy constructor in order to avoid copying.

BaseXML::BaseXML const std::string tagname,
XmlController
[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 29 of file BaseXML.cxx.

BaseXML::~BaseXML  )  [virtual]
 

The destructor.

Definition at line 37 of file BaseXML.cxx.


Member Function Documentation

XmlElement * BaseXML::createElement  ) 
 

Creates a new element node.

Uses the current document as determined by the XMLController.

Definition at line 41 of file BaseXML.cxx.

References XmlDocument::createElement(), 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 BaseXML::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 56 of file BaseXML.cxx.

References XmlElement::fillNodeList(), and 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(), XmlController::openNTuples(), and TupleCutXML::setAttributes().

const XmlElement * BaseXML::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 51 of file BaseXML.cxx.

References XmlElement::getNode(), and m_tagname.

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

void BaseXML::setId XmlElement tag,
int  id
[protected]
 

Sets the unique identification of the object.

Definition at line 62 of file BaseXML.cxx.

References 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 & BaseXML::tagName  )  const [virtual]
 

Returns the tag name used by this class.

Definition at line 46 of file BaseXML.cxx.

References m_tagname.


Member Data Documentation

XmlController* BaseXML::m_controller [protected]
 

The singleton XML controller object.

Definition at line 58 of file BaseXML.h.

Referenced by NTupleProjectorXML::addCuts(), 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 BaseXML::m_id [protected]
 

The attribute name for the identification of the object.

Definition at line 55 of file BaseXML.h.

Referenced by setId().

const std::string BaseXML::m_tagname [protected]
 

The tag name used for elements created by this class.

Definition at line 48 of file BaseXML.h.

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

const std::string BaseXML::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 52 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().


The documentation for this class was generated from the following files:
Generated for HippoDraw-1.14.8.5 by doxygen 1.4.3