Rosetta Core  2014.16.56682
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | List of all members
core::pack::task::operation::TaskOperationFactory Class Reference

#include <TaskOperationFactory.hh>

Public Types

typedef utility::vector1
< TaskOperationOP
TaskOperationOPs
 
typedef std::map< std::string,
TaskOperationCreatorOP
TaskOperationCreatorMap
 
typedef utility::tag::Tag Tag
 
typedef utility::tag::TagCOP TagCOP
 

Public Member Functions

void factory_register (TaskOperationCreatorOP)
 
void add_creator (TaskOperationCreatorOP)
 add a prototype, using its default type name as the map key More...
 
bool has_type (std::string const &) const
 
void add_creator (ResLvlTaskOperationCreatorOP)
 pass through to child factories More...
 
void add_creator (ResFilterCreatorOP)
 adds a ResFilter prototype creator to the child ResFilterFactory More...
 
TaskOperationOP newTaskOperation (std::string const &, basic::datacache::DataMap &datamap, TagCOP=new Tag) const
 return new TaskOperation by key lookup in task_operation_creator_map_ (new TaskOperation parses Tag if provided) More...
 
void newTaskOperations (TaskOperationOPs &, basic::datacache::DataMap &datamap, TagCOP) const
 fills vector with new TaskOperations from nested "TASKOPERATIONS" TagCOP More...
 
void newTaskOperations (TaskOperationOPs &, basic::datacache::DataMap &datamap, std::string const &) const
 fills vector with new TaskOperations from xml-like tag file More...
 

Static Public Member Functions

static TaskOperationFactoryget_instance ()
 static function to get the instance of ( pointer to) this singleton class More...
 

Private Member Functions

 TaskOperationFactory ()
 the default TaskOperations are now initialized in core/init/init.cc via the registrator/creator scheme More...
 
virtual ~TaskOperationFactory ()
 

Static Private Member Functions

static TaskOperationFactorycreate_singleton_instance ()
 private singleton creation function to be used with utility::thread::threadsafe_singleton More...
 

Private Attributes

TaskOperationCreatorMap task_operation_creator_map_
 

Static Private Attributes

static TaskOperationFactoryinstance_
 

Member Typedef Documentation

Constructor & Destructor Documentation

core::pack::task::operation::TaskOperationFactory::TaskOperationFactory ( )
private

the default TaskOperations are now initialized in core/init/init.cc via the registrator/creator scheme

Referenced by create_singleton_instance().

core::pack::task::operation::TaskOperationFactory::~TaskOperationFactory ( )
privatevirtual

Member Function Documentation

void core::pack::task::operation::TaskOperationFactory::add_creator ( TaskOperationCreatorOP  creator)

add a prototype, using its default type name as the map key

add a TaskOperation prototype creator

References runtime_assert, and task_operation_creator_map_.

Referenced by factory_register().

void core::pack::task::operation::TaskOperationFactory::add_creator ( ResLvlTaskOperationCreatorOP  creator)
void core::pack::task::operation::TaskOperationFactory::add_creator ( ResFilterCreatorOP  creator)
TaskOperationFactory * core::pack::task::operation::TaskOperationFactory::create_singleton_instance ( )
staticprivate

private singleton creation function to be used with utility::thread::threadsafe_singleton

References TaskOperationFactory().

Referenced by get_instance().

void core::pack::task::operation::TaskOperationFactory::factory_register ( TaskOperationCreatorOP  creator)
TaskOperationFactory * core::pack::task::operation::TaskOperationFactory::get_instance ( )
static

static function to get the instance of ( pointer to) this singleton class

References create_singleton_instance(), instance_, and utility::thread::safely_create_singleton().

bool core::pack::task::operation::TaskOperationFactory::has_type ( std::string const &  type) const
TaskOperationOP core::pack::task::operation::TaskOperationFactory::newTaskOperation ( std::string const &  type,
basic::datacache::DataMap datamap,
TagCOP  tag = new Tag 
) const

return new TaskOperation by key lookup in task_operation_creator_map_ (new TaskOperation parses Tag if provided)

Example Tag syntax for parser as of Summer 2009

<ReadResfile name="rrf" filename="myresfile/">

or

<OperateOnCertainResidues name="PROTEINnopack"> <PreventRepackingRLT> <ResidueHasProperty property="PROTEIN/"> </OperateOnCertainResidues>

References utility::pointer::owning_ptr< T >::get(), task_operation_creator_map_, core::pack::task::operation::TR, and utility_exit_with_message.

Referenced by newTaskOperations().

void core::pack::task::operation::TaskOperationFactory::newTaskOperations ( TaskOperationOPs tops,
basic::datacache::DataMap datamap,
TagCOP  tag 
) const

fills vector with new TaskOperations from nested "TASKOPERATIONS" TagCOP

recurse tag file to find TASKOPERATIONS definitions

References newTaskOperation(), runtime_assert, core::pack::task::operation::TR, and type.

Referenced by newTaskOperations().

void core::pack::task::operation::TaskOperationFactory::newTaskOperations ( TaskOperationOPs tops,
basic::datacache::DataMap datamap,
std::string const &  tagfilename 
) const

Member Data Documentation

TaskOperationFactory * core::pack::task::operation::TaskOperationFactory::instance_
staticprivate

Referenced by get_instance().

TaskOperationCreatorMap core::pack::task::operation::TaskOperationFactory::task_operation_creator_map_
private

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