Base class for writing XML formatted data to an output stream. More...

#include <utils.h>

Inheritance diagram for frepple::utils::XMLOutput:

List of all members.

Public Types

typedef unsigned short content_type

Public Member Functions

void BeginObject (const Keyword &t)
void BeginObject (const Keyword &t, const string &atts)
template<class T >
void BeginObject (const Keyword &t, const Keyword &attr1, const T &val1)
template<class T , class U >
void BeginObject (const Keyword &t, const Keyword &attr1, const T &val1, const Keyword &attr2, const U &val2)
template<class T , class U , class V >
void BeginObject (const Keyword &t, const Keyword &attr1, const T &val1, const Keyword &attr2, const U &val2, const Keyword &attr3, const V &val3)
unsigned long countObjects () const
void EndObject (const Keyword &t)
content_type getContentType () const
ObjectgetCurrentObject () const
string getHeaderAtts () const
string getHeaderStart () const
ObjectgetPreviousObject () const
void setContentType (content_type c)
void setHeaderAtts (const string &s)
void setHeaderStart (const string &s)
void writeElement (const Keyword &t, const long unsigned int val)
void writeElement (const Keyword &t, const int val)
void writeElement (const Keyword &t, const double val)
void writeElement (const Keyword &t, const bool val)
void writeElement (const Keyword &t, const string &val)
void writeElement (const Keyword &u, const Keyword &t, const string &val)
void writeElement (const Keyword &u, const Keyword &t, const long val)
void writeElement (const Keyword &u, const Keyword &t, const Date &val)
void writeElement (const Keyword &u, const Keyword &t1, const string &val1, const Keyword &t2, const string &val2)
void writeElement (const Keyword &u, const Keyword &t1, unsigned long val1, const Keyword &t2, const string &val2)
void writeElement (const Keyword &t, const char *val)
void writeElement (const Keyword &t, const TimePeriod d)
void writeElement (const Keyword &t, const Date d)
void writeElement (const Keyword &t, const DateRange &d)
void writeElement (const Keyword &, const Object *, mode=DEFAULT)
void writeElement (const Keyword &t, const Object &o, mode m=DEFAULT)
void writeElementWithHeader (const Keyword &tag, const Object *object)
void writeHeader (const Keyword &tag)
void writeString (const string &c)
 XMLOutput (ostream &os)
 XMLOutput ()

Static Public Attributes

static const content_type PLAN = 2
static const content_type PLANDETAIL = 4
static const content_type STANDARD = 1

Protected Member Functions

void setOutput (ostream &o)

Detailed Description

Base class for writing XML formatted data to an output stream.

Subclasses implement writing to specific stream types, such as files and strings.

Definition at line 1982 of file utils.h.


Member Typedef Documentation

This type is used to define different types of output.

See also:
STANDARD
PLAN
PLANDETAIL

Definition at line 1994 of file utils.h.


Constructor & Destructor Documentation

frepple::utils::XMLOutput::XMLOutput ( ostream &  os) [inline]

Constructor with a given stream.

Definition at line 2058 of file utils.h.

frepple::utils::XMLOutput::XMLOutput ( ) [inline]

Default constructor.

Definition at line 2065 of file utils.h.


Member Function Documentation

void frepple::utils::XMLOutput::BeginObject ( const Keyword t) [inline]

Start writing a new object. This method will open a new XML-tag.
Output: <TAG>

Definition at line 2074 of file utils.h.

void frepple::utils::XMLOutput::BeginObject ( const Keyword t,
const string &  atts 
) [inline]

Start writing a new object. This method will open a new XML-tag. Output: <TAG attributes>

Definition at line 2083 of file utils.h.

template<class T >
void frepple::utils::XMLOutput::BeginObject ( const Keyword t,
const Keyword attr1,
const T &  val1 
) [inline]

Start writing a new object. This method will open a new XML-tag.
The user is responsible to assure string values are escaped correctly with the XMLEscape class.
Output: <TAG TAG1="val1">

See also:
XMLEscape

Definition at line 2095 of file utils.h.

template<class T , class U >
void frepple::utils::XMLOutput::BeginObject ( const Keyword t,
const Keyword attr1,
const T &  val1,
const Keyword attr2,
const U &  val2 
) [inline]

Start writing a new object. This method will open a new XML-tag.
The user is responsible to assure string values are escaped correctly with the XMLEscape class.
Output: <TAG TAG1="val1" TAG2="val2">

See also:
XMLEscape

Definition at line 2108 of file utils.h.

template<class T , class U , class V >
void frepple::utils::XMLOutput::BeginObject ( const Keyword t,
const Keyword attr1,
const T &  val1,
const Keyword attr2,
const U &  val2,
const Keyword attr3,
const V &  val3 
) [inline]

Start writing a new object. This method will open a new XML-tag.
The user is responsible to assure string values are escaped correctly with the XMLEscape class.
Output: <TAG TAG1="val1" TAG2="val2" TAG3="val3">

See also:
XMLEscape

Definition at line 2123 of file utils.h.

unsigned long frepple::utils::XMLOutput::countObjects ( ) const [inline]

Returns the number of objects that have been serialized.

Definition at line 2318 of file utils.h.

void frepple::utils::XMLOutput::EndObject ( const Keyword t) [inline]

Write the closing tag of this object and decrease the indentation level.
Output: </TAG_T>

Definition at line 2138 of file utils.h.

content_type frepple::utils::XMLOutput::getContentType ( ) const [inline]

Returns which type of export is requested. Constants have been defined for each type.

See also:
STANDARD
PLAN
PLANDETAIL

Definition at line 2027 of file utils.h.

Object* frepple::utils::XMLOutput::getCurrentObject ( ) const [inline]

Returns a pointer to the object that is currently being saved.

Definition at line 2310 of file utils.h.

string frepple::utils::XMLOutput::getHeaderAtts ( ) const [inline]

Returns the attributes that are written for the root element of each XML document.

Definition at line 2055 of file utils.h.

string frepple::utils::XMLOutput::getHeaderStart ( ) const [inline]

Returns the string that is printed as the first line of each XML document.

Definition at line 2045 of file utils.h.

Object* frepple::utils::XMLOutput::getPreviousObject ( ) const [inline]

Returns a pointer to the parent of the object that is being saved.

Definition at line 2314 of file utils.h.

void frepple::utils::XMLOutput::setContentType ( content_type  c) [inline]

Specify the type of export.

See also:
STANDARD
PLAN
PLANDETAIL

Definition at line 2034 of file utils.h.

void frepple::utils::XMLOutput::setHeaderAtts ( const string &  s) [inline]

Updates the attributes that are written for the root element of each XML document.
The default value is an empty string.

Definition at line 2051 of file utils.h.

void frepple::utils::XMLOutput::setHeaderStart ( const string &  s) [inline]

Updates the string that is printed as the first line of each XML document.
The default value is: <?xml version="1.0" encoding="UTF-8"?>

Definition at line 2041 of file utils.h.

void frepple::utils::XMLOutput::setOutput ( ostream &  o) [inline, protected]

Updating the output stream.

Definition at line 1986 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const long unsigned int  val 
) [inline]

Write an unsigned long value enclosed opening and closing tags.
Output: <TAG_T>uint</TAG_T>

Definition at line 2153 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const int  val 
) [inline]

Write an integer value enclosed opening and closing tags.
Output: <TAG_T>integer</TAG_T>

Definition at line 2160 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const double  val 
) [inline]

Write a double value enclosed opening and closing tags.
Output: <TAG_T>double</TAG_T>

Definition at line 2167 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const bool  val 
) [inline]

Write a boolean value enclosed opening and closing tags. The boolean is written out as the string 'true' or 'false'.
Output: <TAG_T>true</TAG_T>

Definition at line 2176 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const string &  val 
) [inline]

Write a string value enclosed opening and closing tags. Special characters (i.e. & < > " ' ) are appropriately escaped.
Output: <TAG_T>val</TAG_T>

Definition at line 2185 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword u,
const Keyword t,
const string &  val 
) [inline]

Writes an element with a string attribute.
Output: <TAG_U TAG_T="string"/>

Definition at line 2194 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword u,
const Keyword t,
const long  val 
) [inline]

Writes an element with a long attribute.
Output: <TAG_U TAG_T="val"/>

Definition at line 2206 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword u,
const Keyword t,
const Date val 
) [inline]

Writes an element with a date attribute.
Output: <TAG_U TAG_T="val"/>

Definition at line 2214 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword u,
const Keyword t1,
const string &  val1,
const Keyword t2,
const string &  val2 
) [inline]

Writes an element with 2 string attributes.
Output: <TAG_U TAG_T1="val1" TAG_T2="val2"/>

Definition at line 2222 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword u,
const Keyword t1,
unsigned long  val1,
const Keyword t2,
const string &  val2 
) [inline]

Writes an element with a string and a long attribute.
Output: <TAG_U TAG_T1="val1" TAG_T2="val2"/>

Definition at line 2236 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const char *  val 
) [inline]

Writes a C-type character string.
Output: <TAG_T>val</TAG_T>

Definition at line 2247 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const TimePeriod  d 
) [inline]

Writes an timeperiod element.
Output: <TAG_T>d</TAG_T> />

Definition at line 2256 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const Date  d 
) [inline]

Writes an date element.
Output: <TAG_T>d</TAG_T> />

Definition at line 2263 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const DateRange d 
) [inline]

Writes an daterange element.
Output: <TAG_T>d</TAG_T>

Definition at line 2270 of file utils.h.

void frepple::utils::XMLOutput::writeElement ( const Keyword tag,
const Object object,
mode  m = DEFAULT 
)

This method writes a serializable object. It maintains a STL-map of all objects that have been saved already. For objects that have already been saved earlier, the method will instruct the serializable object to write only a reference, rather than the complete object. You should call this method for all objects in your xml document, except for the root object.

See also:
writeElementWithHeader(const Keyword&, Object*)

Definition at line 569 of file xmlparser.cpp.

void frepple::utils::XMLOutput::writeElement ( const Keyword t,
const Object o,
mode  m = DEFAULT 
) [inline]
See also:
writeElement(const Keyword&, const Object*, mode)

Definition at line 2286 of file utils.h.

void frepple::utils::XMLOutput::writeElementWithHeader ( const Keyword tag,
const Object object 
)

This method writes a serializable object with a complete XML compliant header.
You should call this method for the root object of your xml document, and writeElement for all objects nested in it.

See also:
writeElement(const Keyword&, Object*)
writeHeader
Exceptions:
RuntimeExceptionGenerated when multiple root elements are available for the output document.

Definition at line 597 of file xmlparser.cpp.

void frepple::utils::XMLOutput::writeHeader ( const Keyword tag)

This method writes the opening tag for an XML output.
You should call this method or writeElementWithHeader() when writing the first element of an xml document.

See also:
writeElementWithHeader
Exceptions:
RuntimeExceptionGenerated when multiple root elements are available for the output document.

Definition at line 627 of file xmlparser.cpp.

void frepple::utils::XMLOutput::writeString ( const string &  c) [inline]

Write the string to the output. No XML-tags are added, so this method is used for passing text straight into the output file.

Definition at line 2146 of file utils.h.


Member Data Documentation

Constant to mark an export of the standard information plus the plan information. In this format, every entity is saved with the details on how it is used in the plan.
E.g. a resource will be saved with a reference to all its loadplans. E.g. an operation will be saved with all its operationplans.

See also:
STANDARD
PLANDETAIL

Definition at line 2012 of file utils.h.

Constant to mark an export of the lowest level of plan information. In addition to the plan information pegging information is now saved.

See also:
STANDARD
PLAN

Definition at line 2019 of file utils.h.

Constant used to mark standard export for the export. The standard export saves just enough information to persist the full state of the model as brief as possible.

See also:
PLAN
PLANDETAIL

Definition at line 2002 of file utils.h.


The documentation for this class was generated from the following files:

Documentation generated for frePPLe by  doxygen