#include <BALL/CONCEPT/property.h>

Public Types | |
Enums | |
| enum | Type { BOOL, INT, UNSIGNED_INT, FLOAT, DOUBLE, STRING, OBJECT, NONE, SMART_OBJECT } |
Public Member Functions | |
Constructors and Destructors | |
| NamedProperty () | |
| NamedProperty (const string &name) | |
| NamedProperty (const string &name, bool value) | |
| NamedProperty (const string &name, int value) | |
| NamedProperty (const string &name, unsigned int value) | |
| NamedProperty (const string &name, float value) | |
| NamedProperty (const string &name, double value) | |
| NamedProperty (const string &name, const string &str) | |
| NamedProperty (const string &name, PersistentObject &po) | |
| NamedProperty (const string &name, boost::shared_ptr< PersistentObject > &po) | |
| NamedProperty (const NamedProperty &) | |
| ~NamedProperty () | |
| virtual void | clear () |
Persistence | |
| virtual void | persistentWrite (PersistenceManager &pm, const char *name="") const throw (Exception::GeneralException) |
| virtual void | persistentRead (PersistenceManager &pm) throw (Exception::GeneralException) |
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 |
| int | getInt () const |
| float | getFloat () const |
| double | getDouble () const |
| unsigned int | getUnsignedInt () const |
| PersistentObject * | getObject () const |
| boost::shared_ptr < PersistentObject > | getSmartObject () const |
| string | getString () const |
| string | toString () const |
Predicates | |
| bool | operator== (const NamedProperty &np) const |
| bool | operator!= (const NamedProperty &np) const |
| void | operator= (const NamedProperty &np) |
Private Attributes | |
| Type | type_ |
| string | name_ |
| boost::any | data_ |
Named Property Class.
Definition at line 38 of file property.h.
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. |
Definition at line 51 of file property.h.
| BALL::NamedProperty::NamedProperty | ( | ) |
| 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 | ( | const NamedProperty & | ) |
Copy constructor
| BALL::NamedProperty::~NamedProperty | ( | ) |
Destructor . The destructor destructs the contained data in the case of STRING-type properties only.
| virtual void BALL::NamedProperty::clear | ( | ) | [virtual] |
Clear method
Reimplemented from BALL::Object.
| 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.
| string BALL::NamedProperty::getName | ( | ) | const |
Return the name of the property.
| 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.
| Type BALL::NamedProperty::getType | ( | ) | const |
Return the type of the data stored in the property object.
| 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
| void BALL::NamedProperty::operator= | ( | const NamedProperty & | np | ) |
copy operator
| bool BALL::NamedProperty::operator== | ( | const NamedProperty & | np | ) | const |
Equality operator Two instances are equal if they have the same name and the same value.
| virtual void BALL::NamedProperty::persistentRead | ( | PersistenceManager & | pm | ) | throw (Exception::GeneralException) [virtual] |
Retrieve a persistent copy of the object
Reimplemented from BALL::PersistentObject.
| virtual void BALL::NamedProperty::persistentWrite | ( | PersistenceManager & | pm, | |
| const char * | name = "" | |||
| ) | const throw (Exception::GeneralException) [virtual] |
Write a persistent copy of the object.
Reimplemented from BALL::PersistentObject.
| string BALL::NamedProperty::toString | ( | ) | const |
Converts the data contained in this NamedProperty to a string and returns it.
Note that this function is intended as a convenience and does NOT depend on the type of the data (in constrast to getString()).
boost::any BALL::NamedProperty::data_ [private] |
Definition at line 308 of file property.h.
string BALL::NamedProperty::name_ [private] |
Definition at line 304 of file property.h.
Type BALL::NamedProperty::type_ [private] |
Definition at line 300 of file property.h.
1.6.3