Teuchos - Trilinos Tools Package Version of the Day
Loading...
Searching...
No Matches
Teuchos::ObjectBuilder< ObjectType > Class Template Reference

Generic parameterlist driven bulider class. More...

#include <Teuchos_ObjectBuilder.hpp>

Inheritance diagram for Teuchos::ObjectBuilder< ObjectType >:
Teuchos::ParameterListAcceptor

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".
void setObjectTypeName (const std::string &objectTypeName)
 Set the name of the parameterlist selector, e.g. "Object Type".
void setObjectFactory (const RCP< const AbstractFactory< ObjectType > > &objectFactory, const std::string &objectFactoryName)
 Set a new Object factory object.
std::string getObjectName () const
 Get the name of the Object that will be created on the next call to this->create().
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.
RCP< ObjectType > create (const std::string &objectName="") const
Public Member Functions inherited from Teuchos::ParameterListAcceptor
virtual ~ParameterListAcceptor ()
 Destructor.
virtual RCP< const DependencySheetgetDependencies () const
 Rreturn a const DependencySheet of all the dependencies that should be applied to the ParameterList returned by this->getValidParameters().

Overridden from ParameterListAcceptor

void setParameterList (const RCP< ParameterList > &paramList)
RCP< ParameterListgetNonconstParameterList ()
RCP< ParameterListunsetParameterList ()
RCP< const ParameterListgetParameterList () const
RCP< const ParameterListgetValidParameters () const

Detailed Description

template<class ObjectType>
class Teuchos::ObjectBuilder< ObjectType >

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.

Author
Todd Coffey tscof.nosp@m.fe@s.nosp@m.andia.nosp@m..gov

Definition at line 57 of file Teuchos_ObjectBuilder.hpp.

Constructor & Destructor Documentation

◆ ObjectBuilder()

template<class ObjectType>
Teuchos::ObjectBuilder< ObjectType >::ObjectBuilder ( )

Definition at line 176 of file Teuchos_ObjectBuilder.hpp.

◆ ~ObjectBuilder()

template<class ObjectType>
Teuchos::ObjectBuilder< ObjectType >::~ObjectBuilder ( )

Definition at line 183 of file Teuchos_ObjectBuilder.hpp.

Member Function Documentation

◆ setObjectName()

template<class ObjectType>
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.

◆ setObjectTypeName()

template<class ObjectType>
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.

◆ setObjectFactory()

template<class ObjectType>
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.

◆ getObjectName()

template<class ObjectType>
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.

◆ setDefaultObject()

template<class ObjectType>
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.

◆ create()

template<class ObjectType>
RCP< ObjectType > Teuchos::ObjectBuilder< ObjectType >::create ( const std::string & objectName = "") const

Definition at line 318 of file Teuchos_ObjectBuilder.hpp.

◆ setParameterList()

template<class ObjectType>
void Teuchos::ObjectBuilder< ObjectType >::setParameterList ( const RCP< ParameterList > & paramList)
virtual

Implements Teuchos::ParameterListAcceptor.

Definition at line 225 of file Teuchos_ObjectBuilder.hpp.

◆ getNonconstParameterList()

template<class ObjectType>
RCP< ParameterList > Teuchos::ObjectBuilder< ObjectType >::getNonconstParameterList ( )
virtual

Implements Teuchos::ParameterListAcceptor.

Definition at line 238 of file Teuchos_ObjectBuilder.hpp.

◆ unsetParameterList()

template<class ObjectType>
RCP< ParameterList > Teuchos::ObjectBuilder< ObjectType >::unsetParameterList ( )
virtual

Implements Teuchos::ParameterListAcceptor.

Definition at line 246 of file Teuchos_ObjectBuilder.hpp.

◆ getParameterList()

template<class ObjectType>
RCP< const ParameterList > Teuchos::ObjectBuilder< ObjectType >::getParameterList ( ) const
virtual

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 261 of file Teuchos_ObjectBuilder.hpp.

◆ getValidParameters()

template<class ObjectType>
RCP< const ParameterList > Teuchos::ObjectBuilder< ObjectType >::getValidParameters ( ) const
virtual

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 269 of file Teuchos_ObjectBuilder.hpp.


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