Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
BeanLike Class Reference

Something which has a name, a description and possibly some parameters of varying type. More...

#include <BeanLike.h>

Inheritance diagram for BeanLike:
Inheritance graph
[legend]
Collaboration diagram for BeanLike:
Collaboration graph
[legend]

Public Member Functions

virtual const std::string & getName () const
 Return the name of an instance.
 
virtual const std::string & getDescription () const
 Return a brief description.
 
bool hasParameters () const
 
template<class F >
getParameter (const std::string &p) const
 Gets a single parameter.
 
const ReferenceMapgetParameters () const
 
ReferenceMapgetParameters ()
 
template<class F >
void setParametersFromEntries (const F &args)
 
void setParameters (std::initializer_list< Variable::init_pair_t > args)
 Grants access to (if above hidden)
 
virtual void setParameters (const std::string &p, char assignmentSymbol='=', char separatorSymbol=0)
 Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2". More...
 
template<class T >
void setParameters (const std::map< std::string, T > &args)
 Set parameters.
 
template<class T >
void setParameters (const SmartMap< T > &args)
 Set parameters.
 
void setParameter (const std::string &p, const Castable &value)
 Sets a single parameter.
 
template<class T >
void setParameter (const std::string &p, const VariableT< T > &value)
 
template<class F >
void setParameter (const std::string &p, const F &value)
 Sets a single parameter. More...
 
template<class F >
void setParameter (const std::string &p, std::initializer_list< F > value)
 Sets a single parameter.
 
BeanLikeoperator= (const BeanLike &b)
 
virtual std::ostream & toStream (std::ostream &ostr, bool compact=true) const
 
 BeanLike (const BeanLike &b)
 
 BeanLike (const std::string &name, const std::string &description="")
 

Protected Member Functions

virtual void storeLastArguments (const std::string &p)
 Called after setParameters()
 
virtual void updateBean () const
 Called after setParameters()
 

Protected Attributes

const std::string name
 
const std::string description
 
ReferenceMap parameters
 

Detailed Description

Something which has a name, a description and possibly some parameters of varying type.

The parameters are local variables (properties) linked by a ReferenceMap .

drain::Command's and drain::image::ImageOp's are typical BeanLikes.

Member Function Documentation

◆ setParameter() [1/2]

void setParameter ( const std::string &  p,
const F &  value 
)
inline

Sets a single parameter.

Sets a single parameter

◆ setParameter() [2/2]

void setParameter ( const std::string &  p,
const VariableT< T > &  value 
)
inline

TODO: consider VariableLike Sets a single parameter

◆ setParameters()

virtual void setParameters ( const std::string &  p,
char  assignmentSymbol = '=',
char  separatorSymbol = 0 
)
inlinevirtual

Sets comma-separated parameters in a predetermined order "a,b,c" or by specifing them "b=2".

This function is virtual because derived classes may redefine it to update str members.


The documentation for this class was generated from the following files: