Teuchos::XMLObject Class Reference

Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object, allowing storage by reference. More...

#include <Teuchos_XMLObject.hpp>

List of all members.

Public Member Functions

Constructors
 XMLObject ()
 Empty constructor.
 XMLObject (const std::string &tag)
 Construct using a node labeled by tag.
 XMLObject (XMLObjectImplem *ptr)
 Construct with a pointer to the low-level representation.
Copy methods
XMLObject deepCopy () const
 Make a deep copy of this object.
Data Access methods
const std::string & getTag () const
 Return the tag of the current node.
bool hasAttribute (const std::string &name) const
 Find out if the current node has an attribute of the specified name.
const std::string & getAttribute (const std::string &name) const
 Return the value of the attribute with the specified name.
const std::string & getRequired (const std::string &name) const
 Get an attribute, throwing an std::exception if it is not found.
double getRequiredDouble (const std::string &name) const
 Get a required attribute, returning it as a double.
int getRequiredInt (const std::string &name) const
 Get a required attribute, returning it as an int.
bool getRequiredBool (const std::string &name) const
 Get a required attribute, returning it as a bool.
std::string getWithDefault (const std::string &name, const std::string &defaultValue) const
 Get an attribute, assigning a default value if the requested attribute does not exist.
int numChildren () const
 Return the number of child nodes owned by this node.
const XMLObjectgetChild (int i) const
 Return the i-th child node.
int numContentLines () const
 Return the number of lines of character content stored in this node.
const std::string & getContentLine (int i) const
 Return the i-th line of character content stored in this node.
std::string toString () const
 Represent this node and its children as a std::string.
void print (std::ostream &os, int indent) const
 Print this node and its children to stream with the given indentation.
std::string header () const
 Write the header for this object to a std::string.
std::string terminatedHeader () const
 Write the header for this object to a std::string.
std::string footer () const
 Write the footer for this object to a std::string.
bool isEmpty () const
 Find out if a node is empty.
void checkTag (const std::string &expected) const
 Check that a tag is equal to an expected std::string.
Tree-Assembly methods
void addAttribute (const std::string &name, const std::string &value)
 Add an attribute to the current node's atribute list.
void addDouble (const std::string &name, double val)
 Add a double as an attribute.
void addInt (const std::string &name, int val)
 Add an int as an attribute.
void addBool (const std::string &name, bool val)
 Add a bool as an attribute.
void addChild (const XMLObject &child)
 Add a child node to the node.
void addContent (const std::string &contentLine)
 Add a line of character content.

Related Functions

(Note that these are not member functions.)

std::ostream & operator<< (std::ostream &os, const XMLObject &xml)
 Write XMLObject to os stream.
std::string toString (const XMLObject &xml)
 Write XMLObject to std::string.


Detailed Description

Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object, allowing storage by reference.

Definition at line 50 of file Teuchos_XMLObject.hpp.


Constructor & Destructor Documentation

Teuchos::XMLObject::XMLObject (  )  [inline]

Empty constructor.

Definition at line 58 of file Teuchos_XMLObject.hpp.

XMLObject::XMLObject ( const std::string &  tag  ) 

Construct using a node labeled by tag.

Definition at line 36 of file Teuchos_XMLObject.cpp.

XMLObject::XMLObject ( XMLObjectImplem ptr  ) 

Construct with a pointer to the low-level representation.

This is used to allow construction of an XMLObject from the XMLObjectImplem* return value of ExceptionBase::toXML().

Definition at line 40 of file Teuchos_XMLObject.cpp.


Member Function Documentation

XMLObject XMLObject::deepCopy (  )  const

Make a deep copy of this object.

Definition at line 44 of file Teuchos_XMLObject.cpp.

const std::string & XMLObject::getTag (  )  const

Return the tag of the current node.

Definition at line 53 of file Teuchos_XMLObject.cpp.

bool XMLObject::hasAttribute ( const std::string &  name  )  const

Find out if the current node has an attribute of the specified name.

Definition at line 60 of file Teuchos_XMLObject.cpp.

const std::string & XMLObject::getAttribute ( const std::string &  name  )  const

Return the value of the attribute with the specified name.

Definition at line 67 of file Teuchos_XMLObject.cpp.

const std::string & XMLObject::getRequired ( const std::string &  name  )  const

Get an attribute, throwing an std::exception if it is not found.

Definition at line 74 of file Teuchos_XMLObject.cpp.

double Teuchos::XMLObject::getRequiredDouble ( const std::string &  name  )  const [inline]

Get a required attribute, returning it as a double.

Definition at line 95 of file Teuchos_XMLObject.hpp.

int Teuchos::XMLObject::getRequiredInt ( const std::string &  name  )  const [inline]

Get a required attribute, returning it as an int.

Definition at line 99 of file Teuchos_XMLObject.hpp.

bool XMLObject::getRequiredBool ( const std::string &  name  )  const

Get a required attribute, returning it as a bool.

Definition at line 89 of file Teuchos_XMLObject.cpp.

std::string XMLObject::getWithDefault ( const std::string &  name,
const std::string &  defaultValue 
) const

Get an attribute, assigning a default value if the requested attribute does not exist.

Definition at line 82 of file Teuchos_XMLObject.cpp.

int XMLObject::numChildren (  )  const

Return the number of child nodes owned by this node.

Definition at line 112 of file Teuchos_XMLObject.cpp.

const XMLObject & XMLObject::getChild ( int  i  )  const

Return the i-th child node.

Definition at line 119 of file Teuchos_XMLObject.cpp.

int XMLObject::numContentLines (  )  const

Return the number of lines of character content stored in this node.

Definition at line 126 of file Teuchos_XMLObject.cpp.

const std::string & XMLObject::getContentLine ( int  i  )  const

Return the i-th line of character content stored in this node.

Definition at line 133 of file Teuchos_XMLObject.cpp.

std::string XMLObject::toString (  )  const

Represent this node and its children as a std::string.

Definition at line 140 of file Teuchos_XMLObject.cpp.

void XMLObject::print ( std::ostream &  os,
int  indent 
) const

Print this node and its children to stream with the given indentation.

Definition at line 147 of file Teuchos_XMLObject.cpp.

std::string XMLObject::header (  )  const

Write the header for this object to a std::string.

Definition at line 154 of file Teuchos_XMLObject.cpp.

std::string XMLObject::terminatedHeader (  )  const

Write the header for this object to a std::string.

Definition at line 161 of file Teuchos_XMLObject.cpp.

std::string XMLObject::footer (  )  const

Write the footer for this object to a std::string.

Definition at line 168 of file Teuchos_XMLObject.cpp.

bool Teuchos::XMLObject::isEmpty (  )  const [inline]

Find out if a node is empty.

Definition at line 139 of file Teuchos_XMLObject.hpp.

void XMLObject::checkTag ( const std::string &  expected  )  const

Check that a tag is equal to an expected std::string.

Definition at line 175 of file Teuchos_XMLObject.cpp.

void XMLObject::addAttribute ( const std::string &  name,
const std::string &  value 
)

Add an attribute to the current node's atribute list.

Definition at line 183 of file Teuchos_XMLObject.cpp.

void Teuchos::XMLObject::addDouble ( const std::string &  name,
double  val 
) [inline]

Add a double as an attribute.

Definition at line 152 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::addInt ( const std::string &  name,
int  val 
) [inline]

Add an int as an attribute.

Definition at line 156 of file Teuchos_XMLObject.hpp.

void Teuchos::XMLObject::addBool ( const std::string &  name,
bool  val 
) [inline]

Add a bool as an attribute.

Definition at line 160 of file Teuchos_XMLObject.hpp.

void XMLObject::addChild ( const XMLObject child  ) 

Add a child node to the node.

Definition at line 190 of file Teuchos_XMLObject.cpp.

void XMLObject::addContent ( const std::string &  contentLine  ) 

Add a line of character content.

Definition at line 197 of file Teuchos_XMLObject.cpp.


Friends And Related Function Documentation

std::ostream & operator<< ( std::ostream &  os,
const XMLObject xml 
) [related]

Write XMLObject to os stream.

Definition at line 177 of file Teuchos_XMLObject.hpp.

std::string toString ( const XMLObject xml  )  [related]

Write XMLObject to std::string.

Definition at line 186 of file Teuchos_XMLObject.hpp.


The documentation for this class was generated from the following files:
Generated on Wed May 12 21:40:34 2010 for Teuchos - Trilinos Tools Package by  doxygen 1.4.7