#include <textPersistenceManager.h>
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. |
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.
BALL::TextPersistenceManager::TextPersistenceManager | ( | ) |
Default constructor.
Initializes just an internal variable.
virtual bool BALL::TextPersistenceManager::checkTrailer | ( | const char * | name =
0 |
) | [virtual] |
Check an object trailer.
This method checks the trailer of an object.
name | the name of the object |
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.
value | the expected string |
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.
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
.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.
name | the name of the object |
Implements BALL::PersistenceManager.