BALL  1.4.2
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Private Attributes | List of all members
BALL::NamedProperty Class Reference

#include <BALL/CONCEPT/property.h>

Inheritance diagram for BALL::NamedProperty:
BALL::PersistentObject BALL::Object BALL::AutoDeletable

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 (const NamedProperty &, const string &name)
 
 ~NamedProperty ()
 
virtual void clear ()
 
Persistence
virtual void persistentWrite (PersistenceManager &pm, const char *name="") const
 
virtual void persistentRead (PersistenceManager &pm)
 
Accessors
Type getType () const
 Return the type of the data stored in the property object. More...
 
const string & getName () const
 Return the name of the property. More...
 
bool getBool () const
 
int getInt () const
 
float getFloat () const
 
double getDouble () const
 
unsigned int getUnsignedInt () const
 
PersistentObjectgetObject () 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)
 
- Public Member Functions inherited from BALL::PersistentObject
 PersistentObject ()
 
virtual ~PersistentObject ()
 
PersistenceManageroperator>> (PersistenceManager &pm) const
 
virtual void finalize ()
 
- Public Member Functions inherited from BALL::Object
 Object ()
 Default constructor. More...
 
 Object (const Object &object)
 Copy constructor. More...
 
virtual ~Object ()
 Destructor. More...
 
const Objectoperator= (const Object &)
 
bool operator== (const Object &object) const
 
bool operator!= (const Object &object) const
 
bool operator< (const Object &object) const
 
bool operator<= (const Object &object) const
 
bool operator>= (const Object &object) const
 
bool operator> (const Object &object) const
 
int compare (const Object &object) const
 
virtual bool isValid () const
 
virtual void dump (::std::ostream &s=std::cout, Size depth=0) const
 
Handle getHandle () const
 
- Public Member Functions inherited from BALL::AutoDeletable
virtual ~AutoDeletable ()
 
void * operator new (size_t size)
 
void operator delete (void *ptr)
 
void * operator new (size_t size, void *ptr)
 
void operator delete (void *ptr, void *)
 
bool isAutoDeletable () const
 
void setAutoDeletable (bool enable)
 

Private Attributes

Type type_
 
string name_
 
boost::any data_
 

Additional Inherited Members

- Static Public Member Functions inherited from BALL::Object
static Handle getNextHandle ()
 
static Handle getNewHandle ()
 
- Static Public Member Functions inherited from BALL::AutoDeletable
static void clearLastPtr ()
 
- Protected Member Functions inherited from BALL::AutoDeletable
 AutoDeletable ()
 
 AutoDeletable (const AutoDeletable &auto_deletable, bool deep=false)
 

Detailed Description

Named Property Class.

Definition at line 38 of file property.h.

Member Enumeration Documentation

The different types of data a NamedProperty may contain.

Enumerator
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.

Constructor & Destructor Documentation

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 .

Parameters
namethe 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 .

Parameters
namethe property's name
valuethe 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 .

Parameters
namethe property's name
valuethe 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 .

Parameters
namethe property's name
valuethe 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 .

Parameters
namethe property's name
valuethe 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 .

Parameters
namethe property's name
valuethe 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 .

Parameters
namethe property's name
strthe 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 .

Parameters
namethe property's name
poa 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 .

Parameters
namethe property's name
ptra smart pointer to the persistent object
BALL::NamedProperty::NamedProperty ( const NamedProperty )

Copy constructor

BALL::NamedProperty::NamedProperty ( const NamedProperty ,
const string &  name 
)

Copy constructor with renaming

BALL::NamedProperty::~NamedProperty ( )

Destructor . The destructor destructs the contained data in the case of STRING-type properties only.

Member Function Documentation

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.

const 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

See Also
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)
virtual

Retrieve a persistent copy of the object

Exceptions
Exception::GeneralException

Reimplemented from BALL::PersistentObject.

virtual void BALL::NamedProperty::persistentWrite ( PersistenceManager pm,
const char *  name = "" 
) const
virtual

Write a persistent copy of the object.

Exceptions
Exception::GeneralException

Reimplemented from BALL::PersistentObject.

String BALL::NamedProperty::toString ( ) const
Converts the data contained in this NamedProperty to a string and returns it. \n

Note that this function is intended as a convenience and does NOT depend on the type of the data (in constrast to getString()).

Member Data Documentation

boost::any BALL::NamedProperty::data_
private

Definition at line 313 of file property.h.

string BALL::NamedProperty::name_
private

Definition at line 309 of file property.h.

Type BALL::NamedProperty::type_
private

Definition at line 305 of file property.h.