#include <options.h>
Public Member Functions |
|
Constructors and Destructors
|
|
Options () | |
Default constructor. |
|
Options (const Options &options) | |
Copy constructor. |
|
virtual | ~Options () |
Destructor. |
|
Assignment
|
|
const Options & | operator= (const Options &options) |
Assignment operator. |
|
virtual void | clear () |
Clear method. |
|
Predicates
|
|
bool | isInteger (const String &key) const |
Returns true, if the value
associated with the given key is an integer. |
|
bool | isBool (const String &key) const |
Returns true, if the value
associated with the given key is a boolean. |
|
bool | isReal (const String &key) const |
Returns true, if the value
associated with the given key is a real number. |
|
bool | isVector (const String &key) const |
Returns true, if the value
associated with the given key can be read as a vector.
|
|
bool | isSet (const String &key) const |
Returns true, if a value is defined
for the given key. |
|
Inspectors and mutators
|
|
void | setName (const String &name) |
Sets the option table's
name. |
|
const String & | getName () const |
Returns the option table's
name. |
|
String | get (const String &key) const |
Returns the value associated with
the key. |
|
bool | getBool (const String &key) const |
Returns the value associated with
the key as bool. |
|
double | getReal (const String &key) const |
Returns the value associated with
the key as a floting point number. |
|
Vector3 | getVector (const String &key) const |
Returns the value associated with
the key as a Vector3 object. |
|
long | getInteger (const String &key) const |
Returns the value associated with
the key as an integer. |
|
void | set (const String &key, const String &value) |
Assigns value to key. |
|
void | setReal (const String &key, const double value) |
Assigns the real number given by
value to key. |
|
void | setVector (const String &key, const Vector3 &value) |
Assigns a Vector3 object to the
value corresponding to a key. |
|
void | setInteger (const String &key, const long value) |
Assigns the integer given by value
to key. |
|
void | setBool (const String &key, const bool value) |
Assigns the boolean value given by
value to the table entry key. |
|
String | setDefault (const String &key, const String &value) |
Assigns the value only, if the key
is not yet defined. |
|
long | setDefaultInteger (const String &key, const long value) |
Assigns the value only, if the key
is not yet defined. |
|
double | setDefaultReal (const String &key, const double value) |
Assigns the value only, if the key
is not yet defined. |
|
bool | setDefaultBool (const String &key, const bool value) |
Assigns the value only if the key is
not yet defined. |
|
bool | readOptionFile (const String &filename) |
Reads options from a file. |
|
bool | writeOptionFile (const String &filename) const |
Writes options to a file. |
|
void | write (PersistenceManager &pm) const |
Persistent stream writing. |
|
bool | read (PersistenceManager &pm) |
Persistent stream reading. |
|
bool | operator== (const Options &option) const |
Equality operator. |
|
bool | operator!= (const Options &option) const |
Inequality operator. |
|
Debugging
|
|
virtual void | dump (std::ostream &s=std::cout, Size depth=0) const |
Dumps the whole content of the
object. |
|
Static Public Attributes |
|
Constants
|
|
static const Size | MAX_ENTRY_LENGTH |
Maximum length for each entry (key +
value): 1024 byte. |
|
Protected Attributes |
|
String | name_ |
This object is intended to store options for complex method calls. These options are stored as key/value pairs of String .
BALL::Options::Options | ( | ) |
Default constructor.
Creates a new and empty Options object.
BALL::Options::Options | ( | const Options & | options | ) |
Copy constructor.
Creates a new option table from an existing one.
options | the options to be copied |
virtual BALL::Options::~Options | ( | ) | [virtual] |
Returns the value associated with the key.
If the key does not exists an empty string is returned.
key | the key |
bool BALL::Options::getBool | ( | const String & | key | ) | const |
Returns the value associated with the key as bool.
This method tries to convert the value associated with key to a bool value.
key | the key |
long BALL::Options::getInteger | ( | const String & | key | ) | const |
Returns the value associated with the key as an integer.
If the value corresponding to key could not be converted to an integer number or the key does not exists, zero is returned. It is possible to check for the validity of this conversion by calling isInteger() .
key | the key |
double BALL::Options::getReal | ( | const String & | key | ) | const |
Returns the value associated with the key as a floting point number.
If the value could not be converted to a floating point number or the key does not exist a value of #0.0# is returned.
key | the key |
Returns the value associated with the key as a Vector3 object.
This method is useful to read threedimensional coordinates, points, etc. The value corresponding to key has to be of the form #(<float> <float> <float>)# (i.e. three floating point numbers separated by white blanks and surrounded by round brackets).
key | the key |
bool BALL::Options::isBool | ( | const String & | key | ) | const |
Returns true, if the value associated with the given key is a boolean.
A boolean entry has either the value true
or false
.
key | String |
bool BALL::Options::isInteger | ( | const String & | key | ) | const |
Returns true, if the value associated with the given key is an integer.
key | String |
bool BALL::Options::isReal | ( | const String & | key | ) | const |
Returns true, if the value associated with the given key is a real number.
key | String |
bool BALL::Options::isSet | ( | const String & | key | ) | const |
Returns true, if a value is defined for the given key.
key | String |
bool BALL::Options::isVector | ( | const String & | key | ) | const |
Returns true, if the value associated with the given key can be read as a vector.
This method simply checks whether the value is of the form #(<float> <float> <float>)# where #<float># represents an arbitrary floating point number.
key | String |
bool BALL::Options::read | ( | PersistenceManager & | pm | ) |
Persistent stream reading.
This method reads from the persistent stream using the
readPrimitive
method of the PersistenceManager.
pm | the persistence manager |
bool BALL::Options::readOptionFile | ( | const String & | filename | ) |
Reads options from a file.
This method opens the file specified by filename. If the file could not be opened, the method returns false. Otherwise, the file is read line by line and each line is interpreted as a key (starting with the first non-blank character and terminated by the next blank) separated by a blank from a value (starting with the first non-blank charakter after the key and terminated by the end of the line). For each line either an existing key is updated with the value read, or a new key-value pair is created.
filename | the name of the file to be read |
Assigns value to key.
The string given as value is assigned to the key. If key didn't exist in the internal hash table, it is inserted.
key | the key |
void BALL::Options::setBool | ( | const String & | key, | |
const bool | value | |||
) |
Assigns the boolean value given by value to the table entry key.
The value associated with key is either set to the string "true" or the string "false".
key | the key | |
value | the boolean value |
Assigns the value only, if the key is not yet defined.
If an entry for key exists, it is not modified. It is set to value otherwise.
key | the key | |
value | a new value |
bool BALL::Options::setDefaultBool | ( | const String & | key, | |
const bool | value | |||
) |
Assigns the value only if the key is not yet defined.
If an entry for key exists, it is not modified. It is set to value otherwise.
key | the key | |
value | a new value |
key
long BALL::Options::setDefaultInteger | ( | const String & | key, | |
const long | value | |||
) |
Assigns the value only, if the key is not yet defined.
If an entry for key exists, it is not modified. It is set to value otherwise.
key | the key | |
value | a new value |
key
double BALL::Options::setDefaultReal | ( | const String & | key, | |
const double | value | |||
) |
Assigns the value only, if the key is not yet defined.
If an entry for key exists, it is not modified. It is set to value otherwise.
key | the key | |
value | a new value |
key
void BALL::Options::setInteger | ( | const String & | key, | |
const long | value | |||
) |
Assigns the integer given by value to key.
value is first converted to a string, which is then stored in the hash table under key.
key | the key | |
value | the integer value |
void BALL::Options::setReal | ( | const String & | key, | |
const double | value | |||
) |
Assigns the real number given by value to key.
value is first converted to a string, which is then stored in the option object.
value | the new value | |
key | the key |
Assigns a Vector3 object to the value corresponding to a key.
The given Vector3 is converted to a string by the following call to sprintf:
key | the key | |
value | a vector |
void BALL::Options::write | ( | PersistenceManager & | pm | ) | const |
Persistent stream writing.
This method writes the strings using the
writePrimitive
method of the PersistenceManager.
pm | the persistence manager |
bool BALL::Options::writeOptionFile | ( | const String & | filename | ) | const |
Writes options to a file.
This method opens or creates the file specified by filename. If the file could not be opened, the method returns false. The option table's name is writen in a line starting with '!'.
filename | the name of the file to write |
const Size
BALL::Options::MAX_ENTRY_LENGTH
[static] |
Maximum length for each entry (key + value): 1024 byte.