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 57 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 124 of file Teuchos_ObjectBuilder.hpp.
Teuchos::ObjectBuilder< ObjectType >::ObjectBuilder | ( | ) |
Definition at line 176 of file Teuchos_ObjectBuilder.hpp.
Teuchos::ObjectBuilder< ObjectType >::~ObjectBuilder | ( | ) |
Definition at line 183 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 362 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 373 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 189 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 207 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 301 of file Teuchos_ObjectBuilder.hpp.
RCP< ObjectType > Teuchos::ObjectBuilder< ObjectType >::create | ( | const std::string & | objectName = "" | ) | const |
Definition at line 318 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 225 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 238 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Implements Teuchos::ParameterListAcceptor.
Definition at line 246 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 261 of file Teuchos_ObjectBuilder.hpp.
|
virtual |
Reimplemented from Teuchos::ParameterListAcceptor.
Definition at line 269 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 384 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 129 of file Teuchos_ObjectBuilder.hpp.
|
mutableprivate |
Definition at line 130 of file Teuchos_ObjectBuilder.hpp.
|
mutableprivate |
Definition at line 131 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 133 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 134 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 136 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 137 of file Teuchos_ObjectBuilder.hpp.
|
private |
Definition at line 138 of file Teuchos_ObjectBuilder.hpp.