PointRepXML Class Reference

#include <PointRepXML.h>

Inheritance diagram for PointRepXML:

Inheritance graph
BaseXML
[legend]
Collaboration diagram for PointRepXML:

Collaboration graph
PlotterBaseXMLDataRepXMLBaseXMLViewBaseXMLFontXMLAxisModelXMLAxisTickXMLMapMatrixProjectorXMLNTupleProjectorXMLBinningProjectorXMLBinsBaseXMLBinnerAxisXMLNTupleXMLFunctionProjectorXMLTransformXMLTupleCutXMLHiNTupleXMLBinToColorXMLColorXMLXmlControllerXmlElementXmlNodeXmlDocumentViewFactory
[legend]
List of all members.

Detailed Description

A singleton class that is does XML serialization and de-serialization of derived classes of RepBase.

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

Definition at line 30 of file PointRepXML.h.

Public Member Functions

XmlElementcreateElement ()
 Creates a new element node.
XmlElementcreateElement (const RepBase &rep)
 Returns a newly created XML element for the RepBase object.
RepBasecreateObject (const XmlElement *element)
 Creates an object derived from RepBase from information in the XmlElement.
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.
 PointRepXML (XmlController *)
 The only public constructor.
virtual const std::string & tagName () const
 Returns the tag name used by this class.
 ~PointRepXML ()
 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

 PointRepXML (const PointRepXML &)
 A private copy constructor in order to avoid copying.
void setAttributes (XmlElement &tag, const RepBase &rep)
 Sets the attributes of a PointRep element tag.

Private Attributes

std::string a_size
 The size attribute name.
std::string a_style
 The style attribute name.
std::string a_text
 The text attribute name.
std::string a_value_transform
 The type of value transform.
std::string a_xerror
 The x error attribute name.
std::string a_yerror
 The y error attribute name.
BinToColorXMLm_bintocolor_xml
 The BinToColorXML instance used by this object.
ColorXMLm_color_xml
 The ColorXML instance used by this 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

PointRepXML ( const PointRepXML  )  [private]

A private copy constructor in order to avoid copying.

PointRepXML ( XmlController  ) 

The only public constructor.

Definition at line 36 of file PointRepXML.cxx.

References PointRepXML::m_bintocolor_xml, and PointRepXML::m_color_xml.

~PointRepXML (  ) 

The destructor.

Definition at line 50 of file PointRepXML.cxx.

References PointRepXML::m_bintocolor_xml, and PointRepXML::m_color_xml.


Member Function Documentation

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

XmlElement * createElement ( const RepBase rep  ) 

Returns a newly created XML element for the RepBase object.

Definition at line 56 of file PointRepXML.cxx.

References XmlNode::appendChild(), ColorXML::createElement(), BaseXML::createElement(), RepBase::getColor(), RepBase::getValueTransform(), PointRepXML::m_bintocolor_xml, PointRepXML::m_color_xml, and PointRepXML::setAttributes().

Referenced by DataRepXML::createChildren().

RepBase * createObject ( const XmlElement element  ) 

Creates an object derived from RepBase from information in the XmlElement.

Tries both the PointRepFactory and TextRepFactory to create the object. If neither is successful, returns a null pointer.

Definition at line 97 of file PointRepXML.cxx.

References PointRepXML::a_size, PointRepXML::a_style, PointRepXML::a_text, PointRepXML::a_value_transform, PointRepXML::a_xerror, PointRepXML::a_yerror, XmlElement::attribute(), Factory::create(), ColorXML::createObject(), BaseXML::getNode(), BinToColorFactory::instance(), TextRepFactory::instance(), PointRepFactory::instance(), PointRepXML::m_bintocolor_xml, PointRepXML::m_color_xml, BaseXML::m_type, RepBase::setColor(), RepBase::setErrorOn(), RepBase::setSize(), RepBase::setText(), num_util::size(), num_util::type(), hippodraw::Axes::X, and hippodraw::Axes::Y.

Referenced by DataRepXML::createObject().

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

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

void setAttributes ( XmlElement tag,
const RepBase rep 
) [private]

Sets the attributes of a PointRep element tag.

Definition at line 77 of file PointRepXML.cxx.

References PointRepXML::a_size, PointRepXML::a_style, PointRepXML::a_text, PointRepXML::a_xerror, PointRepXML::a_yerror, RepBase::getStyle(), RepBase::getText(), BaseXML::m_controller, BaseXML::m_type, RepBase::name(), XmlElement::setAttribute(), BaseXML::setId(), RepBase::size(), RepBase::xError(), and RepBase::yError().

Referenced by PointRepXML::createElement().

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 a_size [private]

The size attribute name.

Definition at line 44 of file PointRepXML.h.

Referenced by PointRepXML::createObject(), and PointRepXML::setAttributes().

std::string a_style [private]

The style attribute name.

Definition at line 48 of file PointRepXML.h.

Referenced by PointRepXML::createObject(), and PointRepXML::setAttributes().

std::string a_text [private]

The text attribute name.

Definition at line 60 of file PointRepXML.h.

Referenced by PointRepXML::createObject(), and PointRepXML::setAttributes().

std::string a_value_transform [private]

The type of value transform.

Definition at line 64 of file PointRepXML.h.

Referenced by PointRepXML::createObject().

std::string a_xerror [private]

The x error attribute name.

Definition at line 52 of file PointRepXML.h.

Referenced by PointRepXML::createObject(), and PointRepXML::setAttributes().

std::string a_yerror [private]

The y error attribute name.

Definition at line 56 of file PointRepXML.h.

Referenced by PointRepXML::createObject(), and PointRepXML::setAttributes().

BinToColorXML* m_bintocolor_xml [private]

The BinToColorXML instance used by this object.

Definition at line 40 of file PointRepXML.h.

Referenced by PointRepXML::createElement(), PointRepXML::createObject(), PointRepXML::PointRepXML(), and PointRepXML::~PointRepXML().

ColorXML* m_color_xml [private]

The ColorXML instance used by this object.

Definition at line 36 of file PointRepXML.h.

Referenced by PointRepXML::createElement(), PointRepXML::createObject(), PointRepXML::PointRepXML(), and PointRepXML::~PointRepXML().

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

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

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


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