#include <property.h>
Public Types |
|
Enums
|
|
enum |
Type { BOOL, INT, UNSIGNED_INT, FLOAT, DOUBLE, STRING, OBJECT, NONE, SMART_OBJECT } |
The different types of data a
NamedProperty may contain.
More... |
|
Public Member Functions |
|
Constructors and Destructors
|
|
NamedProperty () | |
NamedProperty (const string &name) | |
Standard constructor. |
|
NamedProperty (const string &name, bool value) | |
Constructor for bool-type
properties. |
|
NamedProperty (const string &name, int value) | |
Constructor for int-type properties.
|
|
NamedProperty (const string &name, unsigned int value) | |
Constructor for unsigned int-type
properties. |
|
NamedProperty (const string &name, float value) | |
Constructor for float-type
properties. |
|
NamedProperty (const string &name, double value) | |
Constructor for double-type
properties. |
|
NamedProperty (const string &name, const string &str) | |
Constructor for string-type
properties. |
|
NamedProperty (const string &name, PersistentObject &po) | |
Constructor for object-type
properties. |
|
NamedProperty (const string &name, boost::shared_ptr< PersistentObject > &po) | |
Constructor for smart-pointer
handled object-type properties. |
|
NamedProperty (const NamedProperty &) | |
Copy constructor. |
|
~NamedProperty () | |
Destructor . |
|
virtual void | clear () |
Clear method. |
|
Persistence
|
|
virtual void | persistentWrite (PersistenceManager &pm, const char *name="") const throw (Exception::GeneralException) |
Write a persistent copy of the
object. |
|
virtual void | persistentRead (PersistenceManager &pm) throw (Exception::GeneralException) |
Retrieve a persistent copy of the
object. |
|
Accessors
|
|
Type | getType () const |
Return the type of the data stored
in the property object. |
|
string | getName () const |
Return the name of the
property. |
|
bool | getBool () const |
Return the data of the property
object as bool. |
|
int | getInt () const |
Return the data of the property
object as int. |
|
float | getFloat () const |
Return the data of the property
object as float. |
|
double | getDouble () const |
Return the data of the property
object as double. |
|
unsigned int | getUnsignedInt () const |
Return the data of the property
object as unsigned int. |
|
PersistentObject * | getObject () const |
Return the data of the property
object as a pointer to a PersistentObject. |
|
boost::shared_ptr < PersistentObject > |
getSmartObject () const |
Return the data of the property
object as a smart pointer to a PersistentObject. |
|
string | getString () const |
Return the data of the property
object as a string. |
|
Predicates
|
|
bool | operator== (const NamedProperty &np) const |
Equality operator Two instances are
equal if they have the same name and the same
value. |
|
bool | operator!= (const NamedProperty &np) const |
Inequality operator. |
The different types of data a NamedProperty may contain.
BOOL | Bool-type properties can have the value true or false. |
INT | Int-type properties contain a variable of type int. |
UNSIGNED_INT | Unsigned-int-type properties contain a variable of type unsigned int. |
FLOAT | Float-type properties contain a variable of type double. |
DOUBLE | Double-type properties contain a variable of type double. |
STRING |
String-type properties contain a pointer to a
string.
When destructing the property, the string is destructed, too. |
OBJECT |
Object-type properties contain a pointer to a
PersistentObject.
Remember to destruct the objects if they are not needed any more! the Destructor of NamedProperty will not delete this object! |
NONE |
Properties of this type do not contain any data.
Use this type to indicate that an object has a certain property. The type can be seen as an extension of the bit properties used in PropertyManager except for the user-defined name. |
SMART_OBJECT |
Object-type properties contain a smart pointer to
a PersistentObject.
Here, destruction will autmatically be handled by the smart pointer implementation. |
BALL::NamedProperty::NamedProperty | ( | const string & | name | ) |
Standard constructor.
Creates an object of type NONE. Use this constructor to
create it properties with user defined names. The
Type
is set to OBJECT .
name | the propertie's name |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
bool | value | |||
) |
Constructor for bool-type properties.
Creates a NamedProperty object containing
a boolean value. The Type
is set to BOOL .
name | the property's name | |
value | the boolean value stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
int | value | |||
) |
Constructor for int-type properties.
Creates a NamedProperty object containing
a signed int value. The Type
is set to
INT .
name | the property's name | |
value | the int value stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
unsigned int | value | |||
) |
Constructor for unsigned int-type properties.
Creates a NamedProperty object containing
an unsigned int value. The Type
is set to
UNSIGNED_INT .
name | the property's name | |
value | the int value stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
float | value | |||
) |
Constructor for float-type properties.
Creates a NamedProperty object containing
a float value. The Type
is set to FLOAT .
name | the property's name | |
value | the float value stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
double | value | |||
) |
Constructor for double-type properties.
Creates a NamedProperty object containing
a double value. The Type
is set to DOUBLE .
name | the property's name | |
value | the double value stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
const string & | str | |||
) |
Constructor for string-type properties.
Objects of type STRING contain a pointer to a string
object. This object is constructed as a copy of
str
The Type
is set to STRING .
name | the property's name | |
str | the string stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
PersistentObject & | po | |||
) |
Constructor for object-type properties.
Creates a NamedProperty object containing
a pointer to a persistent object. The Type
is
set to OBJECT .
name | the property's name | |
po | a reference to the persistent object stored in the property |
BALL::NamedProperty::NamedProperty | ( | const string & | name, | |
boost::shared_ptr< PersistentObject > & | po | |||
) |
Constructor for smart-pointer handled object-type properties.
Creates a NamedProperty object containing
a smart pointer to a persistent object. The
Type
is set to SMART_OBJECT .
name | the property's name | |
ptr | a smart pointer to the persistent object |
BALL::NamedProperty::~NamedProperty | ( | ) |
Destructor .
The destructor destructs the contained data in the case of STRING-type properties only.
bool BALL::NamedProperty::getBool | ( | ) | const |
Return the data of the property object as bool.
If the property object is not of BOOL type, false is returned.
double BALL::NamedProperty::getDouble | ( | ) | const |
Return the data of the property object as double.
If the property object is not of DOUBLE type, 0.0 is returned.
float BALL::NamedProperty::getFloat | ( | ) | const |
Return the data of the property object as float.
If the property object is not of FLOAT type, 0.0 is returned.
int BALL::NamedProperty::getInt | ( | ) | const |
Return the data of the property object as int.
If the property object is not of INT type, 0 is returned.
PersistentObject* BALL::NamedProperty::getObject | ( | ) | const |
Return the data of the property object as a pointer to a PersistentObject.
If the property object is not of OBJECT type, 0 is returned.
boost::shared_ptr<PersistentObject> BALL::NamedProperty::getSmartObject | ( | ) | const |
Return the data of the property object as a smart pointer to a PersistentObject.
If the property object is not of SMART_OBJECT type, 0 is returned.
string BALL::NamedProperty::getString | ( | ) | const |
Return the data of the property object as a string.
If the property object is not of STRING type, "" is returned.
unsigned int BALL::NamedProperty::getUnsignedInt | ( | ) | const |
Return the data of the property object as unsigned int.
If the property object is not of UNSIGNED_INT type, 0 is returned.
bool BALL::NamedProperty::operator!= | ( | const NamedProperty & | np | ) | const |
Inequality operator.