| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

Property Class Reference

Property base class allowing Property* collections to be "homogeneus". More...

#include <GaudiKernel/Property.h>

Inheritance diagram for Property:

[legend]
Collaboration diagram for Property:
[legend]
List of all members.

Public Member Functions

const std::string & name () const
 property name
const std::string & documentation () const
 property documentation
const std::type_info * type_info () const
 property type-info
std::string type () const
 property type
virtual bool load (Property &dest) const =0
 export the property value to the destination
virtual bool assign (const Property &source)=0
 import the property value form the source
virtual std::string toString () const =0
 value -> string
virtual StatusCode fromString (const std::string &value)=0
 string -> value
const PropertyCallbackFunctorreadCallBack () const
 Call-back functor at reading: the functor is ownered by property!
const PropertyCallbackFunctorupdateCallBack () const
 Call-back functor for update: the funtor is ownered by property!
virtual void declareReadHandler (PropertyCallbackFunctor *pf)
 set new callback for reading
virtual void declareUpdateHandler (PropertyCallbackFunctor *pf)
 set new callback for update
template<class HT>
void declareReadHandler (void(HT::*MF)(Property &), HT *instance)
template<class HT>
void declareUpdateHandler (void(HT::*MF)(Property &), HT *instance)
virtual void useReadHandler () const
 use the call-back function at reading
virtual void useUpdateHandler ()
 use the call-back function at update
virtual ~Property ()
 virtual destructor
virtual Propertyclone () const =0
 clone: "virtual constructor"
void setName (const std::string &value)
 set the new value for the property name
void setDocumentation (const std::string &documentation)
 set the documentation string
virtual std::ostream & fillStream (std::ostream &) const
 the printout of the property value

Protected Member Functions

 Property (const std::type_info &type, const std::string &name="")
 constructor from the property name and the type
 Property (const std::string &name, const std::type_info &type)
 constructor from the property name and the type
 Property (const Property &right)
 copy constructor
Propertyoperator= (const Property &right)
 assignement operator

Protected Attributes

PropertyCallbackFunctorm_readCallBack
PropertyCallbackFunctorm_updateCallBack

Private Member Functions

 Property ()

Private Attributes

std::string m_name
std::string m_documentation
const std::type_info * m_typeinfo

Detailed Description

Property base class allowing Property* collections to be "homogeneus".

Author:
Paul Maley

CTDay

Vanya BELYAEV ibelyaev@physics.syr.edu

Definition at line 46 of file Property.h.


Constructor & Destructor Documentation

virtual Property::~Property (  )  [virtual]

virtual destructor

Property::Property ( const std::type_info &  type,
const std::string &  name = "" 
) [protected]

constructor from the property name and the type

Property::Property ( const std::string &  name,
const std::type_info &  type 
) [protected]

constructor from the property name and the type

Property::Property ( const Property right  )  [protected]

copy constructor

Property::Property (  )  [private]


Member Function Documentation

const std::string& Property::name (  )  const [inline]

property name

Definition at line 50 of file Property.h.

00050 { return m_name             ; } ;

const std::string& Property::documentation (  )  const [inline]

property documentation

Definition at line 52 of file Property.h.

00052 { return m_documentation; };

const std::type_info* Property::type_info (  )  const [inline]

property type-info

Definition at line 54 of file Property.h.

00054 { return m_typeinfo         ; } ;

std::string Property::type (  )  const [inline]

property type

Definition at line 56 of file Property.h.

00056 { return m_typeinfo->name() ; } ;

virtual bool Property::load ( Property dest  )  const [pure virtual]

export the property value to the destination

Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, and PropertyList.

virtual bool Property::assign ( const Property source  )  [pure virtual]

import the property value form the source

Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, PropertyList, and PropertyWithValue< TYPE >.

virtual std::string Property::toString (  )  const [pure virtual]

value -> string

Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, GaudiHandleArrayProperty, and PropertyWithValue< TYPE >.

virtual StatusCode Property::fromString ( const std::string &  value  )  [pure virtual]

string -> value

Implemented in PropertyWithValue< TYPE >, GaudiHandleProperty, and GaudiHandleArrayProperty.

const PropertyCallbackFunctor* Property::readCallBack (  )  const

Call-back functor at reading: the functor is ownered by property!

const PropertyCallbackFunctor* Property::updateCallBack (  )  const

Call-back functor for update: the funtor is ownered by property!

virtual void Property::declareReadHandler ( PropertyCallbackFunctor pf  )  [virtual]

set new callback for reading

virtual void Property::declareUpdateHandler ( PropertyCallbackFunctor pf  )  [virtual]

set new callback for update

template<class HT>
void Property::declareReadHandler ( void(HT::*)(Property &)  MF,
HT *  instance 
) [inline]

Definition at line 131 of file Property.h.

template<class HT>
void Property::declareUpdateHandler ( void(HT::*)(Property &)  MF,
HT *  instance 
) [inline]

Definition at line 136 of file Property.h.

virtual void Property::useReadHandler (  )  const [virtual]

use the call-back function at reading

virtual void Property::useUpdateHandler (  )  [virtual]

use the call-back function at update

virtual Property* Property::clone (  )  const [pure virtual]

clone: "virtual constructor"

Implemented in SimpleProperty< TYPE, VERIFIER >, SimplePropertyRef< TYPE, VERIFIER >, GaudiHandleProperty, and GaudiHandleArrayProperty.

void Property::setName ( const std::string &  value  )  [inline]

set the new value for the property name

Definition at line 91 of file Property.h.

00091 { m_name = value ; }

void Property::setDocumentation ( const std::string &  documentation  )  [inline]

set the documentation string

Definition at line 93 of file Property.h.

00093                                                           {
00094     m_documentation = documentation; };

virtual std::ostream& Property::fillStream ( std::ostream &   )  const [virtual]

the printout of the property value

Property& Property::operator= ( const Property right  )  [protected]

assignement operator


Member Data Documentation

std::string Property::m_name [private]

Definition at line 115 of file Property.h.

std::string Property::m_documentation [private]

Definition at line 117 of file Property.h.

const std::type_info* Property::m_typeinfo [private]

Definition at line 119 of file Property.h.

PropertyCallbackFunctor* Property::m_readCallBack [mutable, protected]

Definition at line 122 of file Property.h.

PropertyCallbackFunctor* Property::m_updateCallBack [protected]

Definition at line 124 of file Property.h.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:12 2011 for GaudiKernel by doxygen 1.4.7