Teuchos Package Browser (Single Doxygen Collection)
Version of the Day
|
Generic parameterlist driven bulider class. More...
#include <Teuchos_ObjectBuilder.hpp>
Public Member Functions | |
ObjectBuilder () | |
~ObjectBuilder () | |
void | setObjectName (const std::string &objectName) |
Set the name of the object this will be a builder for, e.g. "Object". More... | |
void | setObjectTypeName (const std::string &objectTypeName) |
Set the name of the parameterlist selector, e.g. "Object Type". More... | |
void | setObjectFactory (const RCP< const AbstractFactory< ObjectType > > &objectFactory, const std::string &objectFactoryName) |
Set a new Object factory object. More... | |
std::string | getObjectName () const |
Get the name of the Object that will be created on the next call to this->create() . More... | |
void | setDefaultObject (const std::string &defaultObject_name) |
Set the name of the desired object to be created when the parameter list does not specify which object you want and when create is called without arguments. More... | |
RCP< ObjectType > | create (const std::string &objectName="") const |
Public Member Functions inherited from Teuchos::ParameterListAcceptor | |
virtual | ~ParameterListAcceptor () |
Destructor. More... | |
virtual RCP< const DependencySheet > | getDependencies () const |
Rreturn a const DependencySheet of all the dependencies that should be applied to the ParameterList returned by this->getValidParameters() . More... | |
Private Types | |
typedef RCP< const AbstractFactory< ObjectType > > | object_fcty_t |
Private Member Functions | |
void | initializeDefaults_ () |
Private Attributes | |
RCP< ParameterList > | paramList_ |
RCP< const ParameterList > | validParamList_ |
RCP< const StringToIntegralParameterEntryValidator < int > > | objectValidator_ |
std::string | object_name_ |
std::string | objectType_name_ |
Array< std::string > | validObjectNames_ |
Array< object_fcty_t > | objectArray_ |
std::string | defaultObject_name_ |
Overridden from ParameterListAcceptor | |
void | setParameterList (const RCP< ParameterList > ¶mList) |
RCP< ParameterList > | getNonconstParameterList () |
RCP< ParameterList > | unsetParameterList () |
RCP< const ParameterList > | getParameterList () const |
RCP< const ParameterList > | getValidParameters () const |
Generic parameterlist driven bulider class.
This is a generic builder class that provides a validated parameter list and can build anything that can be constructed with a default constructor and accepts a parameter list through setParameterList (e.g. it derives from ParameterListAcceptor).
Note the following:
The default object name is "Object" (this can be changed through setObjectName)
The default object type name is "Object Type" (this can be changed through setObjectTypeName)
The valid parameter list has a parameter named "Object Type" with a default value of "None"
The builder will create a null RCP if no factories have been set on it with setObjectFactory
A parameter list need not be set on the builder to call create, it will simply create the default factory which is either "None" if no factories have been set or it will be the last factory that was set
Setting a parameter list on the builder allows you to specify which object will be created by default and allows you to control what options will be used in each object.
Definition at line 89 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 156 of file Teuchos_ObjectBuilder.hpp.
Teuchos::ObjectBuilder< ObjectType >::ObjectBuilder | ( | ) |
Definition at line 208 of file Teuchos_ObjectBuilder.hpp.
Teuchos::ObjectBuilder< ObjectType >::~ObjectBuilder | ( | ) |
Definition at line 215 of file Teuchos_ObjectBuilder.hpp.
void Teuchos::ObjectBuilder< ObjectType >::setObjectName | ( | const std::string & | objectName | ) |
Set the name of the object this will be a builder for, e.g. "Object".
Definition at line 394 of file Teuchos_ObjectBuilder.hpp.
void Teuchos::ObjectBuilder< ObjectType >::setObjectTypeName | ( | const std::string & | objectTypeName | ) |
Set the name of the parameterlist selector, e.g. "Object Type".
Definition at line 405 of file Teuchos_ObjectBuilder.hpp.
void Teuchos::ObjectBuilder< ObjectType >::setObjectFactory | ( | const RCP< const AbstractFactory< ObjectType > > & | objectFactory, |
const std::string & | objectFactoryName | ||
) |
Set a new Object factory object.
Definition at line 221 of file Teuchos_ObjectBuilder.hpp.
std::string Teuchos::ObjectBuilder< ObjectType >::getObjectName | ( | ) | const |
Get the name of the Object that will be created on the next call to this->create()
.
Definition at line 239 of file Teuchos_ObjectBuilder.hpp.
void Teuchos::ObjectBuilder< ObjectType >::setDefaultObject | ( | const std::string & | defaultObject_name | ) |
Set the name of the desired object to be created when the parameter list does not specify which object you want and when create is called without arguments.
Definition at line 333 of file Teuchos_ObjectBuilder.hpp.
RCP< ObjectType > Teuchos::ObjectBuilder< ObjectType >::create | ( | const std::string & | objectName = "" | ) | const |
Definition at line 350 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 257 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 270 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 278 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 293 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 301 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 416 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 161 of file Teuchos_ObjectBuilder.hpp.
|
mutableprivate |
Definition at line 162 of file Teuchos_ObjectBuilder.hpp.
|
mutableprivate |
Definition at line 163 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 165 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 166 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 168 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 169 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 170 of file Teuchos_ObjectBuilder.hpp.