BALL::TextPersistenceManager Class Reference
[Object Persistence.]

Text-format-based persistence manager. More...

#include <textPersistenceManager.h>

Inheritance diagram for BALL::TextPersistenceManager:
Inheritance graph
[legend]

List of all members.


Public Member Functions

Constructors and Destructors
TextPersistenceManager ()
Default constructor.
TextPersistenceManager (std::istream &is)
Detailed constructor with an input stream.
TextPersistenceManager (std::ostream &os)
Detailed constructor with an output stream.
TextPersistenceManager (std::istream &is, std::ostream &os)
Detailed constructor with an input stream and an output stream.
Layer 0 methods
virtual void writeHeader (const char *type_name, const char *name, LongSize ptr)
Write an object header.
virtual bool checkHeader (const char *type_name, const char *name, LongSize &ptr)
Check for an an object header.
virtual void writeTrailer (const char *name=0)
Write the trailer for an object.
virtual bool checkTrailer (const char *name=0)
Check an object trailer.
virtual void writeStreamHeader ()
Write a start marker to the output stream.
virtual void writeStreamTrailer ()
Write a end marker to the output stream.
virtual bool checkStreamHeader ()
Check for the start marker in the input stream.
virtual bool checkStreamTrailer ()
Check for the end marker in the output stream.
virtual bool getObjectHeader (String &type_name, LongSize &ptr)
Get an (unknown) object header.
virtual void writeName (const char *name)
Write a variable/member name.
virtual bool checkName (const char *name)
Check for variable/member name.
virtual void writeStorableHeader (const char *type_name, const char *name)
Write storable object header.
virtual bool checkStorableHeader (const char *type_name, const char *name)
Check for storable object header.
virtual void writePrimitiveHeader (const char *type_name, const char *name)
Write type header and name for a primitive type.
virtual bool checkPrimitiveHeader (const char *type_name, const char *name)
Check for a type header and name for a primitive type.
virtual void writeStorableTrailer ()
Write storable object trailer.
virtual bool checkStorableTrailer ()
Check for storable object trailer.
virtual void writePrimitiveTrailer ()
Write the trailer for a primitive type.
virtual bool checkPrimitiveTrailer ()
Check the trailer of a primitive type.
virtual void writeObjectPointerHeader (const char *type_name, const char *name)
Write header for a pointer to a PersistentObject.
virtual bool checkObjectPointerHeader (const char *type_name, const char *name)
Check for header for a pointer to a PersistentObject.
virtual void writeObjectReferenceHeader (const char *type_name, const char *name)
Write header for a reference to a PersistentObject.
virtual bool checkObjectReferenceHeader (const char *type_name, const char *name)
Check for header for a reference to a PersistentObject.
virtual void writeObjectPointerArrayHeader (const char *type_name, const char *name, Size size)
Write header for an array of pointers to PersistentObjects.
virtual bool checkObjectPointerArrayHeader (const char *type_name, const char *name, Size &size)
Check for header for an array of pointers to PersistentObjects.
virtual void writeObjectPointerArrayTrailer ()
Write trailer for an array of pointers to PersistentObjects.
virtual bool checkObjectPointerArrayTrailer ()
Check for trailer for an array of pointers to PersistentObjects.
Put methods for primitive data types.
virtual void put (const char c)
Write a signed char to the output stream.
virtual void put (const Byte c)
Write an unsigned char to the output stream.
virtual void put (const Index s)
Write an Index to the output stream.
virtual void put (const Size s)
Write a Size or a Position to the output stream.
virtual void put (const bool b)
Write a boolean value to the output stream.
virtual void put (const Real f)
Write a single precision floating point number to the output stream.
virtual void put (const DoubleReal d)
Write a double precision floating point number to the output stream.
virtual void put (const string &s)
Write a string to the output.
virtual void put (const LongSize p)
Write a 64-bit pointer to the output.
Get methods for primitive data types.
virtual void get (char &c)
Read a signed char from the input stream.
virtual void get (Byte &b)
Read an unsigned char from the input stream.
virtual void get (Index &i)
Read an Index from the input stream.
virtual void get (Size &s)
Read a Size or a Position from the input stream.
virtual void get (bool &b)
Read a boolean value from the input stream.
virtual void get (Real &f)
Read a single precision floating point number from the input stream.
virtual void get (DoubleReal &d)
Read a double precision floating point number from the input stream.
virtual void get (string &s)
Read a string from the output stream.
virtual void get (LongSize &p)
Read a pointer from the input stream.

Protected Member Functions

virtual bool expect (const String &value)
Check whether the streams contains a given string.
virtual const char * indent ()
Return a string for the current indentation level.

Detailed Description

Text-format-based persistence manager.

This class implements a persistnece manager that reads and writes its objects in a human-readable text format. This is slow and objects get huge , but the format is clear and comprehensible - the ideal format to debug persistence-related programs. For production use, the XDRPersistenceManager is preferred.

See also:
XDRPersistenceManager

Constructor & Destructor Documentation

BALL::TextPersistenceManager::TextPersistenceManager ( )

Default constructor.

Initializes just an internal variable.


Member Function Documentation

virtual bool BALL::TextPersistenceManager::checkTrailer ( const char * name = 0 ) [virtual]

Check an object trailer.

This method checks the trailer of an object.

Parameters:
name the name of the object
Returns:
true if the trailer was correct

Implements BALL::PersistenceManager.

virtual bool BALL::TextPersistenceManager::expect ( const String & value ) [protected, virtual]

Check whether the streams contains a given string.

This method reads the next string from the persistence manager's istream and compares it to the value given. If both strings are equal, true is returned.

Parameters:
value the expected string
Returns:
bool, true if the expected string was found, false otherwise

virtual void BALL::TextPersistenceManager::writeHeader ( const char * type_name,
const char * name,
LongSize ptr
) [virtual]

Write an object header.

This method write an object header. It starts with the current number of spaces needed for a correct indentation. If name is a null pointer, the object is a base object of the current object. This method then writes the string BASEOBJECT. If name is a name or an empty string, OBJECT is written.

Then, the object's type_name is written, followed by a blank, the character "@" to indicate an address and then the object's this pointer in decimal format. The last string in the line is either "-" (for a base object or an object without name) or the object's name.
The indentation level is incremented. Example for a base object: BASEOBJECT BALL::Composite @ 1145254238 - Example for a member object: BASEOBJECT BALL::Bond @ 2334208924 bond_

Implements BALL::PersistenceManager.

virtual void BALL::TextPersistenceManager::writeTrailer ( const char * name = 0 ) [virtual]

Write the trailer for an object.

Parameters:
name the name of the object

Implements BALL::PersistenceManager.


Generated on Thu Aug 6 18:30:27 2009 for BALL by doxygen 1.5.8