AxisModelXML Class Reference

#include <AxisModelXML.h>

Inheritance diagram for AxisModelXML:

Inheritance graph
BaseXML
[legend]
Collaboration diagram for AxisModelXML:

Collaboration graph
PlotterBaseXMLBaseXMLViewBaseXMLFontXMLPointRepXMLBinToColorXMLColorXMLDataRepXMLMapMatrixProjectorXMLNTupleProjectorXMLBinningProjectorXMLBinsBaseXMLBinnerAxisXMLNTupleXMLFunctionProjectorXMLTransformXMLTupleCutXMLHiNTupleXMLAxisTickXMLXmlControllerXmlElementXmlNodeXmlDocumentViewFactory
[legend]

List of all members.


Detailed Description

A class that is does XML serialization and de-serialization of derived classes of AxisModelBase with XML.

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

Definition at line 31 of file AxisModelXML.h.


Public Member Functions

 AxisModelXML (XmlController *controller)
 The only public constructor.
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.
hippodraw::Axes::Type getAxis (const XmlElement *element, const std::string &tagname)
 Returns the Axis attribute value.
const XmlElementgetNode (const XmlElement *element) const
 Returns the single child node of element of the type that can be handled by this object.
bool isLog (const XmlElement *element)
 Returns true if the element represents an axis model that is on a logarithmic scale.
void setAttributes (AxisModelBase *model, const XmlElement *element)
 Sets the attributes of the AxisModel object plotter from the information in the XmlElement element.
void setAttributes (XmlElement &tag, const AxisModelBase &plotter)
 Sets the attributes of the XmlElement tag from information in the AxisModel object plotter.
virtual const
std::string & 
tagName () const
 Returns the tag name used by this class.
 ~AxisModelXML ()
 The destructor.

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

 AxisModelXML (const AxisModelXML &)
 A private copy constructor in order to avoid copying.
void createChildren (const XmlElement *element, AxisModelBase *model)
 Creates the children objects.
void createChildren (XmlElement &, const AxisModelBase &)
 Creates the children elements.

Private Attributes

std::string m_auto_tick
 The attribute name for axis model that wants auto tick generation.
std::string m_autorange
 The auto ranging attribute name.
AxisTickXMLm_axistick_xml
 The AxisTick XML handler.
std::string m_high
 The high end of Range attribute name.
std::string m_log
 The attribute name for axis model that is logarithmic.
std::string m_low
 The low end of Range attribute name.
std::string m_scale_factor
 the scale factor attribute name.

Static Private Attributes

static AxisModelXMLs_instance
 The pointer to the singleton object.

Member Typedef Documentation

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

The container type for element nodes.

Definition at line 47 of file BaseXML.h.


Constructor & Destructor Documentation

AxisModelXML ( const AxisModelXML  )  [private]

A private copy constructor in order to avoid copying.

AxisModelXML ( XmlController controller  ) 

The only public constructor.

The parameter controller must object of class derived from XMLController.

Definition at line 32 of file AxisModelXML.cxx.

References AxisModelXML::m_axistick_xml.

~AxisModelXML (  ) 

The destructor.

Definition at line 45 of file AxisModelXML.cxx.

References AxisModelXML::m_axistick_xml.


Member Function Documentation

void createChildren ( const XmlElement element,
AxisModelBase model 
) [private]

Creates the children objects.

Definition at line 149 of file AxisModelXML.cxx.

References BaseXML::fillNodeList(), AxisModelXML::m_axistick_xml, and AxisModelXML::setAttributes().

void createChildren ( XmlElement tag,
const AxisModelBase model 
) [private]

Creates the children elements.

Definition at line 82 of file AxisModelXML.cxx.

References XmlNode::appendChild(), BaseXML::createElement(), AxisModelBase::getTicks(), AxisModelXML::m_axistick_xml, AxisModelXML::setAttributes(), and num_util::size().

Referenced by AxisModelXML::setAttributes().

XmlElement * createElement (  )  [inherited]

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 
) [inherited]

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().

Axes::Type getAxis ( const XmlElement element,
const std::string &  tagname 
)

Returns the Axis attribute value.

Definition at line 97 of file AxisModelXML.cxx.

References XmlElement::attribute(), and hippodraw::String::convert().

Referenced by PlotterBaseXML::createAxisModels().

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(), PlotterBaseXML::getObject(), BinningProjectorXML::getObject(), ViewBaseXML::getObjects(), and BinningProjectorXML::setBins().

bool isLog ( const XmlElement element  ) 

Returns true if the element represents an axis model that is on a logarithmic scale.

Definition at line 107 of file AxisModelXML.cxx.

References XmlElement::attribute(), and AxisModelXML::m_log.

Referenced by PlotterBaseXML::createAxisModels().

void setAttributes ( AxisModelBase model,
const XmlElement element 
)

Sets the attributes of the AxisModel object plotter from the information in the XmlElement element.

Definition at line 116 of file AxisModelXML.cxx.

References XmlElement::attribute(), AxisModelXML::createChildren(), AxisModelXML::m_auto_tick, AxisModelXML::m_autorange, AxisModelXML::m_high, AxisModelXML::m_low, AxisModelXML::m_scale_factor, AxisModelBase::setAutoRanging(), AxisModelBase::setRange(), and AxisModelBase::setScaleFactor().

void setAttributes ( XmlElement tag,
const AxisModelBase plotter 
)

Sets the attributes of the XmlElement tag from information in the AxisModel object plotter.

Definition at line 50 of file AxisModelXML.cxx.

References AxisModelXML::createChildren(), AxisModelBase::getRange(), AxisModelBase::getScaleFactor(), Range::high(), AxisModelBase::isAutoRanging(), AxisModelBase::isAutoTicks(), AxisModelBase::isLog(), Range::low(), AxisModelXML::m_auto_tick, AxisModelXML::m_autorange, AxisModelXML::m_high, AxisModelXML::m_log, AxisModelXML::m_low, AxisModelXML::m_scale_factor, and XmlElement::setAttribute().

Referenced by PlotterBaseXML::createAxisModel(), PlotterBaseXML::createAxisModels(), and AxisModelXML::createChildren().

void setId ( XmlElement tag,
int  id 
) [protected, inherited]

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, inherited]

Returns the tag name used by this class.

Definition at line 48 of file BaseXML.cxx.

References BaseXML::m_tagname.


Member Data Documentation

std::string m_auto_tick [private]

The attribute name for axis model that wants auto tick generation.

Definition at line 61 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

std::string m_autorange [private]

The auto ranging attribute name.

Definition at line 44 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

AxisTickXML* m_axistick_xml [private]

The AxisTick XML handler.

Definition at line 41 of file AxisModelXML.h.

Referenced by AxisModelXML::AxisModelXML(), AxisModelXML::createChildren(), and AxisModelXML::~AxisModelXML().

XmlController* m_controller [protected, inherited]

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().

std::string m_high [private]

The high end of Range attribute name.

Definition at line 50 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

const std::string m_id [protected, inherited]

The attribute name for the identification of the object.

Definition at line 57 of file BaseXML.h.

Referenced by BaseXML::setId().

std::string m_log [private]

The attribute name for axis model that is logarithmic.

Definition at line 56 of file AxisModelXML.h.

Referenced by AxisModelXML::isLog(), and AxisModelXML::setAttributes().

std::string m_low [private]

The low end of Range attribute name.

Definition at line 47 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

std::string m_scale_factor [private]

the scale factor attribute name.

Definition at line 53 of file AxisModelXML.h.

Referenced by AxisModelXML::setAttributes().

const std::string m_tagname [protected, inherited]

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, inherited]

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().

AxisModelXML* s_instance [static, private]

The pointer to the singleton object.

Definition at line 37 of file AxisModelXML.h.


The documentation for this class was generated from the following files:
Generated for HippoDraw Class Library by doxygen