Teuchos::ObjectBuilder< ObjectType > Class Template Reference

Generic parameterlist driven bulider class. More...

#include <Teuchos_ObjectBuilder.hpp>

Inheritance diagram for Teuchos::ObjectBuilder< ObjectType >:
Inheritance graph
[legend]

List of all members.

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
 

Private Types

typedef RCP< const
AbstractFactory< ObjectType > > 
object_fcty_t

Private Member Functions

void initializeDefaults_ ()

Private Attributes

RCP< ParameterListparamList_
RCP< const ParameterListvalidParamList_
RCP< const
StringToIntegralParameterEntryValidator
< int > > 
objectValidator_
std::string object_name_
std::string objectType_name_
Array< std::string > validObjectNames_
Array< object_fcty_tobjectArray_
std::string defaultObject_name_

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:

Author:
Todd Coffey <tscoffe@sandia.gov>

Definition at line 74 of file Teuchos_ObjectBuilder.hpp.


Member Typedef Documentation

template<class ObjectType >
typedef RCP<const AbstractFactory<ObjectType > > Teuchos::ObjectBuilder< ObjectType >::object_fcty_t [private]

Definition at line 102 of file Teuchos_ObjectBuilder.hpp.


Constructor & Destructor Documentation

template<class ObjectType >
Teuchos::ObjectBuilder< ObjectType >::ObjectBuilder (  )  [inline]

Definition at line 193 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
Teuchos::ObjectBuilder< ObjectType >::~ObjectBuilder (  )  [inline]

Definition at line 200 of file Teuchos_ObjectBuilder.hpp.


Member Function Documentation

template<class ObjectType >
void Teuchos::ObjectBuilder< ObjectType >::setObjectName ( const std::string &  objectName  )  [inline]

Set the name of the object this will be a builder for, e.g. "Object".

Definition at line 385 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
void Teuchos::ObjectBuilder< ObjectType >::setObjectTypeName ( const std::string &  objectTypeName  )  [inline]

Set the name of the parameterlist selector, e.g. "Object Type".

Definition at line 396 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
void Teuchos::ObjectBuilder< ObjectType >::setObjectFactory ( const RCP< const AbstractFactory< ObjectType > > &  objectFactory,
const std::string &  objectFactoryName 
) [inline]

Set a new Object factory object.

Definition at line 212 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
std::string Teuchos::ObjectBuilder< ObjectType >::getObjectName (  )  const [inline]

Get the name of the Object that will be created on the next call to this->create().

Definition at line 230 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
void Teuchos::ObjectBuilder< ObjectType >::setDefaultObject ( const std::string &  defaultObject_name  )  [inline]

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 324 of file Teuchos_ObjectBuilder.hpp.

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

Definition at line 341 of file Teuchos_ObjectBuilder.hpp.

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

Implements Teuchos::ParameterListAcceptor.

Definition at line 248 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP< ParameterList > Teuchos::ObjectBuilder< ObjectType >::getNonconstParameterList (  )  [inline, virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 261 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP< ParameterList > Teuchos::ObjectBuilder< ObjectType >::unsetParameterList (  )  [inline, virtual]

Implements Teuchos::ParameterListAcceptor.

Definition at line 269 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP< const ParameterList > Teuchos::ObjectBuilder< ObjectType >::getParameterList (  )  const [inline, virtual]

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 284 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP< const ParameterList > Teuchos::ObjectBuilder< ObjectType >::getValidParameters (  )  const [inline, virtual]

Reimplemented from Teuchos::ParameterListAcceptor.

Definition at line 292 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
void Teuchos::ObjectBuilder< ObjectType >::initializeDefaults_ (  )  [inline, private]

Definition at line 407 of file Teuchos_ObjectBuilder.hpp.


Member Data Documentation

template<class ObjectType >
RCP<ParameterList> Teuchos::ObjectBuilder< ObjectType >::paramList_ [private]

Definition at line 107 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP<const ParameterList> Teuchos::ObjectBuilder< ObjectType >::validParamList_ [mutable, private]

Definition at line 108 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
RCP<const StringToIntegralParameterEntryValidator<int> > Teuchos::ObjectBuilder< ObjectType >::objectValidator_ [mutable, private]

Definition at line 109 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
std::string Teuchos::ObjectBuilder< ObjectType >::object_name_ [private]

Definition at line 111 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
std::string Teuchos::ObjectBuilder< ObjectType >::objectType_name_ [private]

Definition at line 112 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
Array<std::string> Teuchos::ObjectBuilder< ObjectType >::validObjectNames_ [private]

Definition at line 114 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
Array<object_fcty_t> Teuchos::ObjectBuilder< ObjectType >::objectArray_ [private]

Definition at line 115 of file Teuchos_ObjectBuilder.hpp.

template<class ObjectType >
std::string Teuchos::ObjectBuilder< ObjectType >::defaultObject_name_ [private]

Definition at line 116 of file Teuchos_ObjectBuilder.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines
Generated on Wed Apr 13 09:57:37 2011 for Teuchos Package Browser (Single Doxygen Collection) by  doxygen 1.6.3