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

DataRepXML Class Reference

#include <DataRepXML.h>

Inheritance diagram for DataRepXML:

Inheritance graph
[legend]
Collaboration diagram for DataRepXML:

Collaboration graph
[legend]
List of all members.

Detailed Description

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

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

Sanket B. Malde <sanket@stanford.edu>

Definition at line 37 of file DataRepXML.h.

Public Member Functions

XmlElementcreateElement ()
 Creates a new element node.
XmlElementcreateElement (const DataRep &rep)
 Returns a newly created XML element with its attributes set.
DataRepcreateObject (const XmlElement *element)
 Returns a newly created object based on the XmlElement.
 DataRepXML (XmlController *)
 A constructor taking an XML Controller as argument.
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.

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

void createChildren (XmlElement &tag, const FunctionProjector *projector)
 Creates the child elements in special case where the DataRep object contained a FunctionProjector object.
void createChildren (XmlElement &tag, const MapMatrixProjector *projector)
 Creates the child elements in special case where the DataRep object contains a MapMatrixProjector object.
void createChildren (XmlElement &tag, const BinningProjector *projector)
 Creates the child elements in special case where the DataRep object contains a BinningProjector object.
void createChildren (XmlElement &tag, const NTupleProjector *projector)
 Creates the child elements in special case where the DataRep object contained a NTupleProjector object.
void createChildren (XmlElement &tag, const DataRep &rep)
 Creates the children elements of this element.
DataRepcreateDataRep (const XmlElement *dr_element, const XmlElement *ntp_element)
 Creates and returns a DataRep object that has NTuple bindings.
DataRepcreateDataRep (const XmlElement *element)
 Creates and returns a DataRep object that does not have NTuple bindings.
void createFunctionTargetChild (XmlElement &tag, const DataRep &rep)
 Creates the child element for the function target.
DataRepgetTextRepObject (const XmlElement *)
 Creates and returns a DataRep object that is a TextDataRep.

Private Attributes

BinningProjectorXMLm_binningProjectorXML
 the BinningProjectorXML instance used by this class.
std::string m_contours
 The attribute name for number of contours.
FunctionProjectorXMLm_functionProjector
 The FunctionProjectorXML instance used by this class.
MapMatrixProjectorXMLm_mapMatrixProjectorXML
 The MapMatrixProjectorXML instance used by this class.
NTupleProjectorXMLm_nTupleProjector
 The NTupleProjectorXML instance used by this class.
PointRepXMLm_pointrep
 The PointRepXML instance used by this class.


Member Typedef Documentation

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

The container type for element nodes.

Definition at line 45 of file BaseXML.h.


Constructor & Destructor Documentation

DataRepXML::DataRepXML XmlController  ) 
 

A constructor taking an XML Controller as argument.

Definition at line 49 of file DataRepXML.cxx.

References m_binningProjectorXML, m_functionProjector, m_mapMatrixProjectorXML, m_nTupleProjector, and m_pointrep.


Member Function Documentation

void DataRepXML::createChildren XmlElement tag,
const FunctionProjector projector
[private]
 

Creates the child elements in special case where the DataRep object contained a FunctionProjector object.

Definition at line 103 of file DataRepXML.cxx.

References XmlNode::appendChild(), FunctionProjectorXML::createElement(), and m_functionProjector.

void DataRepXML::createChildren XmlElement tag,
const MapMatrixProjector projector
[private]
 

Creates the child elements in special case where the DataRep object contains a MapMatrixProjector object.

Definition at line 96 of file DataRepXML.cxx.

References XmlNode::appendChild(), BaseXML::createElement(), and m_mapMatrixProjectorXML.

void DataRepXML::createChildren XmlElement tag,
const BinningProjector projector
[private]
 

Creates the child elements in special case where the DataRep object contains a BinningProjector object.

Definition at line 87 of file DataRepXML.cxx.

References XmlNode::appendChild(), BaseXML::createElement(), and m_binningProjectorXML.

void DataRepXML::createChildren XmlElement tag,
const NTupleProjector projector
[private]
 

Creates the child elements in special case where the DataRep object contained a NTupleProjector object.

Definition at line 75 of file DataRepXML.cxx.

References XmlNode::appendChild(), NTupleProjectorXML::createElement(), and m_nTupleProjector.

void DataRepXML::createChildren XmlElement tag,
const DataRep rep
[private]
 

Creates the children elements of this element.

Definition at line 113 of file DataRepXML.cxx.

References XmlNode::appendChild(), PointRepXML::createElement(), createFunctionTargetChild(), DataRep::getProjector(), DataRep::getRepresentation(), DataRep::hasNTupleBindings(), and m_pointrep.

Referenced by createElement().

DataRep * DataRepXML::createDataRep const XmlElement dr_element,
const XmlElement ntp_element
[private]
 

Creates and returns a DataRep object that has NTuple bindings.

These objects are the ones that can be created from the DataRepFactory. Uses the XML element dr_element for the DataRep information and the XML element ntp_element for the NTuple information.

Definition at line 189 of file DataRepXML.cxx.

References NTupleProjectorXML::addCuts(), XmlElement::attribute(), DataRepController::createDataRep(), NTupleProjectorXML::getBindings(), XmlController::getDataSource(), NTupleProjectorXML::getNTupleReference(), DataRep::getProjector(), DataRepController::instance(), BaseXML::m_controller, m_nTupleProjector, BaseXML::m_type, and num_util::type().

DataRep * DataRepXML::createDataRep const XmlElement element  )  [private]
 

Creates and returns a DataRep object that does not have NTuple bindings.

Definition at line 168 of file DataRepXML.cxx.

References DataRepController::instance(), BaseXML::m_type, and num_util::type().

Referenced by createObject().

XmlElement * BaseXML::createElement  )  [inherited]
 

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(), BaseXML::m_tagname, and XmlController::m_xml_doc.

Referenced by PlotterBaseXML::createAxisModel(), 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(), createElement(), ColorXML::createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), BinningProjectorXML::createElement(), BinnerAxisXML::createElement(), PlotterBaseXML::createFontElement(), and PlotterBaseXML::createFontElements().

XmlElement * DataRepXML::createElement const DataRep rep  ) 
 

Returns a newly created XML element with its attributes set.

Definition at line 60 of file DataRepXML.cxx.

References createChildren(), BaseXML::createElement(), BaseXML::m_controller, BaseXML::m_type, DataRep::name(), XmlElement::setAttribute(), and BaseXML::setId().

Referenced by PlotterBaseXML::createChildren().

void DataRepXML::createFunctionTargetChild XmlElement tag,
const DataRep rep
[private]
 

Creates the child element for the function target.

Definition at line 153 of file DataRepXML.cxx.

References XmlNode::appendChild(), XmlDocument::createElement(), FunctionRep::getTarget(), BaseXML::m_controller, XmlController::m_xml_doc, and XmlElement::setAttribute().

Referenced by createChildren().

DataRep * DataRepXML::createObject const XmlElement element  ) 
 

Returns a newly created object based on the XmlElement.

Definition at line 222 of file DataRepXML.cxx.

References XmlElement::attribute(), createDataRep(), PointRepXML::createObject(), XmlController::getDataRep(), XmlElement::getID(), XmlElement::getNode(), BaseXML::getNode(), BinningProjectorXML::getObject(), DataRep::getProjector(), getTextRepObject(), m_binningProjectorXML, BaseXML::m_controller, m_functionProjector, m_mapMatrixProjectorXML, m_nTupleProjector, m_pointrep, BaseXML::m_type, DataRep::setRepresentation(), and num_util::type().

Referenced by XmlController::getDataReps().

void BaseXML::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 56 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(), XmlController::openNTuples(), and TupleCutXML::setAttributes().

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

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

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

DataRep * DataRepXML::getTextRepObject const XmlElement  )  [private]
 

Creates and returns a DataRep object that is a TextDataRep.

These objects are the ones that can be created from the TextRepFactory.

Definition at line 216 of file DataRepXML.cxx.

Referenced by createObject().

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

Sets the unique identification of the object.

Definition at line 62 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(), createElement(), BinningProjectorXML::createElement(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().

const string & BaseXML::tagName  )  const [virtual, inherited]
 

Returns the tag name used by this class.

Definition at line 46 of file BaseXML.cxx.

References BaseXML::m_tagname.


Member Data Documentation

BinningProjectorXML* DataRepXML::m_binningProjectorXML [private]
 

the BinningProjectorXML instance used by this class.

Definition at line 49 of file DataRepXML.h.

Referenced by createChildren(), createObject(), and DataRepXML().

std::string DataRepXML::m_contours [private]
 

The attribute name for number of contours.

Definition at line 59 of file DataRepXML.h.

XmlController* BaseXML::m_controller [protected, inherited]
 

The singleton XML controller object.

Definition at line 58 of file BaseXML.h.

Referenced by NTupleProjectorXML::addCuts(), ViewBaseXML::connectPlotters(), NTupleProjectorXML::createChildren(), PlotterBaseXML::createCutChildren(), createDataRep(), ViewBaseXML::createElement(), TupleCutXML::createElement(), PlotterBaseXML::createElement(), NTupleProjectorXML::createElement(), MapMatrixProjectorXML::createElement(), HiNTupleXML::createElement(), FunctionProjectorXML::createElement(), createElement(), BinningProjectorXML::createElement(), PlotterBaseXML::createFontObjects(), createFunctionTargetChild(), createObject(), PlotterBaseXML::createPlotter(), PlotterBaseXML::createTextChildren(), PlotterBaseXML::getCutTargets(), PlotterBaseXML::getObject(), ViewBaseXML::getObjects(), PlotterBaseXML::handleCutPlotter(), PlotterBaseXML::handleFunction(), PlotterBaseXML::handleTextPlotter(), PointRepXML::setAttributes(), and NTupleXML::setAttributes().

FunctionProjectorXML* DataRepXML::m_functionProjector [private]
 

The FunctionProjectorXML instance used by this class.

Definition at line 52 of file DataRepXML.h.

Referenced by createChildren(), createObject(), and DataRepXML().

const std::string BaseXML::m_id [protected, inherited]
 

The attribute name for the identification of the object.

Definition at line 55 of file BaseXML.h.

Referenced by BaseXML::setId().

MapMatrixProjectorXML* DataRepXML::m_mapMatrixProjectorXML [private]
 

The MapMatrixProjectorXML instance used by this class.

Definition at line 56 of file DataRepXML.h.

Referenced by createChildren(), createObject(), and DataRepXML().

NTupleProjectorXML* DataRepXML::m_nTupleProjector [private]
 

The NTupleProjectorXML instance used by this class.

Definition at line 46 of file DataRepXML.h.

Referenced by createChildren(), createDataRep(), createObject(), and DataRepXML().

PointRepXML* DataRepXML::m_pointrep [private]
 

The PointRepXML instance used by this class.

Definition at line 43 of file DataRepXML.h.

Referenced by createChildren(), createObject(), and DataRepXML().

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

The tag name used for elements created by this class.

Definition at line 48 of file BaseXML.h.

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

const std::string BaseXML::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 52 of file BaseXML.h.

Referenced by createDataRep(), TransformXML::createElement(), PlotterBaseXML::createElement(), createElement(), BinToColorXML::createElement(), BinsBaseXML::createElement(), TransformXML::createObject(), PointRepXML::createObject(), 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