#include <GaudiKernel/Property.h>
Inheritance diagram for SimplePropertyRef< TYPE, VERIFIER >:
Public Member Functions | |
SimplePropertyRef (const std::string &name, TYPE &value, VERIFIER verifier=VERIFIER()) | |
Constructor from the name, the value and the verifier. | |
SimplePropertyRef (const SimplePropertyRef &right) | |
copy constructor (must be!) | |
virtual | ~SimplePropertyRef () |
virtual Destructor | |
virtual SimplePropertyRef * | clone () const |
implementation of Property::clone | |
SimplePropertyRef & | operator= (const TYPE &value) |
assignement form the value | |
template<class OTHER> | |
SimplePropertyRef & | operator= (const PropertyWithValue< OTHER > &right) |
assignement form the other property type | |
VERIFIER & | verifier () |
const VERIFIER & | verifier () const |
bool | set (const TYPE &value) |
update the value of the property/check the verifier | |
virtual bool | setValue (const TYPE &value) |
implementation of PropertyWithValue::setValue | |
operator const TYPE & () const | |
const TYPE & | value () const |
get the access to the storage | |
virtual bool | assign (const Property &source) |
get the value from another property | |
template<> | |
bool | assign (const Property &source) |
import the property value form the source | |
virtual bool | load (Property &dest) const |
set value for another property | |
virtual StatusCode | fromString (const std::string &s) |
string -> value | |
virtual std::string | toString () const |
value -> string | |
template<> | |
std::string | toString () const |
value -> string | |
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 | |
const PropertyCallbackFunctor * | readCallBack () const |
Call-back functor at reading: the functor is ownered by property! | |
const PropertyCallbackFunctor * | updateCallBack () const |
Call-back functor for update: the funtor is ownered by property! | |
virtual void | declareReadHandler (PropertyCallbackFunctor *pf) |
set new callback for reading | |
template<class HT> | |
void | declareReadHandler (void(HT::*MF)(Property &), HT *instance) |
virtual void | declareUpdateHandler (PropertyCallbackFunctor *pf) |
set new callback for update | |
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 | |
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 | |
void | i_set (const TYPE &value) |
TYPE * | i_get () const |
Protected Attributes | |
PropertyCallbackFunctor * | m_readCallBack |
PropertyCallbackFunctor * | m_updateCallBack |
Private Member Functions | |
SimplePropertyRef () |
CTDay
Vanya BELYAEV ibelyaev@physics.syr.edu
Definition at line 589 of file Property.h.
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef | ( | const std::string & | name, | |
TYPE & | value, | |||
VERIFIER | verifier = VERIFIER() | |||
) |
Constructor from the name, the value and the verifier.
value | NB! non-const reference |
Definition at line 618 of file Property.h.
00621 : PropertyWithVerifier<TYPE,VERIFIER> ( name , &value , false , verifier ) 00622 {}
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef | ( | const SimplePropertyRef< TYPE, VERIFIER > & | right | ) |
copy constructor (must be!)
Definition at line 628 of file Property.h.
00629 : PropertyWithVerifier<TYPE,VERIFIER> 00630 ( right.name() , right.i_get() , false , right.verifier() ) 00631 {}
SimplePropertyRef< TYPE, VERIFIER >::~SimplePropertyRef | ( | ) | [virtual] |
SimplePropertyRef< TYPE, VERIFIER >::SimplePropertyRef | ( | ) | [private] |
SimplePropertyRef< TYPE, VERIFIER > * SimplePropertyRef< TYPE, VERIFIER >::clone | ( | ) | const [inline, virtual] |
implementation of Property::clone
Implements Property.
Definition at line 643 of file Property.h.
00644 { return new SimplePropertyRef(*this) ; }
SimplePropertyRef< TYPE, VERIFIER > & SimplePropertyRef< TYPE, VERIFIER >::operator= | ( | const TYPE & | value | ) | [inline] |
assignement form the value
Reimplemented from PropertyWithVerifier< TYPE, VERIFIER >.
Definition at line 651 of file Property.h.
00652 { 00653 PropertyWithVerifier<TYPE,VERIFIER>::operator=( value ) ; 00654 return *this ; 00655 }
SimplePropertyRef< TYPE, VERIFIER > & SimplePropertyRef< TYPE, VERIFIER >::operator= | ( | const PropertyWithValue< OTHER > & | right | ) | [inline] |
assignement form the other property type
Reimplemented from PropertyWithVerifier< TYPE, VERIFIER >.
Definition at line 664 of file Property.h.
00665 { 00666 PropertyWithVerifier<TYPE,VERIFIER>::operator=( right ); 00667 return *this ; 00668 }
VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier | ( | ) | [inline, inherited] |
const VERIFIER& PropertyWithVerifier< TYPE, VERIFIER >::verifier | ( | ) | const [inline, inherited] |
bool PropertyWithVerifier< TYPE, VERIFIER >::set | ( | const TYPE & | value | ) | [inline, inherited] |
update the value of the property/check the verifier
use verifier!
update the value
invoke the update handler
Definition at line 402 of file Property.h.
00403 { 00405 if ( !m_verifier.isValid( &value ) ) { return false ; } 00407 i_set( value ) ; 00409 this->useUpdateHandler() ; 00410 return true ; 00411 }
virtual bool PropertyWithVerifier< TYPE, VERIFIER >::setValue | ( | const TYPE & | value | ) | [inline, virtual, inherited] |
implementation of PropertyWithValue::setValue
Implements PropertyWithValue< TYPE >.
Definition at line 379 of file Property.h.
PropertyWithValue< TYPE >::operator const TYPE & | ( | ) | const [inline, inherited] |
const TYPE & PropertyWithValue< TYPE >::value | ( | ) | const [inline, inherited] |
get the access to the storage
Definition at line 306 of file Property.h.
00307 { useReadHandler() ; return *m_value ; }
bool PropertyWithValue< TYPE >::assign | ( | const Property & | source | ) | [inline, virtual, inherited] |
get the value from another property
Implements Property.
Definition at line 247 of file Property.h.
00248 { 00249 // 1) Is the property of "the same" type? 00250 const PropertyWithValue<TYPE>* p = 00251 dynamic_cast<const PropertyWithValue<TYPE>*> ( &source ) ; 00252 if ( 0 != p ) { return setValue ( p->value() ) ; } // RETURN 00253 // 2) Else use the string representation 00254 return this->fromString( source.toString() ).isSuccess() ; 00255 }
bool PropertyWithValue< std::string >::assign | ( | const Property & | source | ) | [inline, virtual, inherited] |
import the property value form the source
Implements Property.
Definition at line 297 of file Property.h.
00298 { return this->fromString( source.toString() ).isSuccess() ; }
bool PropertyWithValue< TYPE >::load | ( | Property & | dest | ) | const [inline, virtual, inherited] |
set value for another property
Implements Property.
Definition at line 261 of file Property.h.
00262 { 00263 // gelegate to the 'opposite' method ; 00264 return dest.assign( *this ) ; 00265 }
StatusCode PropertyWithValue< TYPE >::fromString | ( | const std::string & | s | ) | [inline, virtual, inherited] |
string -> value
Implements Property.
Definition at line 281 of file Property.h.
00282 { 00283 TYPE tmp ; 00284 StatusCode sc = Gaudi::Parsers::parse ( tmp , source ) ; 00285 if ( sc.isFailure() ) { return sc ; } 00286 return setValue ( tmp ) ? StatusCode::SUCCESS : StatusCode::FAILURE ; 00287 }
std::string PropertyWithValue< TYPE >::toString | ( | ) | const [inline, virtual, inherited] |
value -> string
Implements Property.
Definition at line 271 of file Property.h.
00272 { 00273 useReadHandler(); 00274 return Gaudi::Utils::toString( *m_value ) ; 00275 }
std::string PropertyWithValue< std::string >::toString | ( | ) | const [inline, virtual, inherited] |
value -> string
Implements Property.
Definition at line 293 of file Property.h.
00294 { return this->value() ; }
void PropertyWithValue< TYPE >::i_set | ( | const TYPE & | value | ) | [inline, protected, inherited] |
TYPE * PropertyWithValue< TYPE >::i_get | ( | ) | const [inline, protected, inherited] |
const std::string& Property::name | ( | ) | const [inline, inherited] |
const std::string& Property::documentation | ( | ) | const [inline, inherited] |
const std::type_info* Property::type_info | ( | ) | const [inline, inherited] |
std::string Property::type | ( | ) | const [inline, inherited] |
const PropertyCallbackFunctor* Property::readCallBack | ( | ) | const [inherited] |
Call-back functor at reading: the functor is ownered by property!
const PropertyCallbackFunctor* Property::updateCallBack | ( | ) | const [inherited] |
Call-back functor for update: the funtor is ownered by property!
virtual void Property::declareReadHandler | ( | PropertyCallbackFunctor * | pf | ) | [virtual, inherited] |
set new callback for reading
void Property::declareReadHandler | ( | void(HT::*)(Property &) | MF, | |
HT * | instance | |||
) | [inline, inherited] |
Definition at line 131 of file Property.h.
00132 { declareReadHandler ( new PropertyCallbackMemberFunctor< HT >( MF , obj ) ) ; }
virtual void Property::declareUpdateHandler | ( | PropertyCallbackFunctor * | pf | ) | [virtual, inherited] |
set new callback for update
void Property::declareUpdateHandler | ( | void(HT::*)(Property &) | MF, | |
HT * | instance | |||
) | [inline, inherited] |
Definition at line 136 of file Property.h.
00137 { declareUpdateHandler ( new PropertyCallbackMemberFunctor< HT >( MF , obj ) ) ; }
virtual void Property::useReadHandler | ( | ) | const [virtual, inherited] |
use the call-back function at reading
virtual void Property::useUpdateHandler | ( | ) | [virtual, inherited] |
use the call-back function at update
void Property::setName | ( | const std::string & | value | ) | [inline, inherited] |
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, inherited] |
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, inherited] |
the printout of the property value
PropertyCallbackFunctor* Property::m_readCallBack [mutable, protected, inherited] |
Definition at line 122 of file Property.h.
PropertyCallbackFunctor* Property::m_updateCallBack [protected, inherited] |
Definition at line 124 of file Property.h.