Rosetta  3.8
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
core::pack::task::operation::TaskOperationFactory Class Reference

#include <TaskOperationFactory.hh>

Inheritance diagram for core::pack::task::operation::TaskOperationFactory:
Inheritance graph
[legend]

Public Types

typedef utility::vector1
< TaskOperationOP
TaskOperationOPs
 
typedef std::map< std::string,
TaskOperationCreatorOP
TaskOperationCreatorMap
 
typedef utility::tag::Tag Tag
 
typedef utility::tag::TagOP TagOP
 
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...
 
void provide_xml_schema (std::string const &task_operation_name, utility::tag::XMLSchemaDefinition &xsd) const
 Get the XML schema for a given TaskOperation. More...
 
TaskOperationOP newTaskOperation (std::string const &, basic::datacache::DataMap &datamap, TagCOP=utility::tag::TagCOP(utility::tag::TagOP(new utility::tag::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...
 
void define_task_op_xml_schema (utility::tag::XMLSchemaDefinition &xsd) const
 The TaskOperationFactory is the point of entry for the definition of the XML Schemas for every TaskOperation that may be instantiated from a file. It is responsible for defining an xs:group named "task_operation" listing each of the task-operation-complex types that may be initialized using the TaskOperationFactory and to iterate across each of the TaskOperationCreator s it contains asking them for the XML schema of the TaskOperation they are responsible for creating. More...
 
TaskOperationCreatorMap const & creator_map () const
 Read access to the map of creator names to creators – for unit testing purposes only. More...
 

Static Public Member Functions

static std::string task_operation_xml_schema_group_name ()
 

Private Member Functions

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

Private Attributes

TaskOperationCreatorMap task_operation_creator_map_
 

Friends

class utility::SingletonBase< TaskOperationFactory >
 

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

core::pack::task::operation::TaskOperationFactory::~TaskOperationFactory ( )
privatevirtual
core::pack::task::operation::TaskOperationFactory::TaskOperationFactory ( TaskOperationFactory const &  )
privatedelete

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 task_operation_creator_map_.

Referenced by factory_register().

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

pass through to child factories

adds a ResLvlTaskOperation prototype creator to the child ResLvlTaskOperationFactory

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

adds a ResFilter prototype creator to the child ResFilterFactory

TaskOperationFactory::TaskOperationCreatorMap const & core::pack::task::operation::TaskOperationFactory::creator_map ( ) const

Read access to the map of creator names to creators – for unit testing purposes only.

References task_operation_creator_map_.

void core::pack::task::operation::TaskOperationFactory::define_task_op_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd) const

The TaskOperationFactory is the point of entry for the definition of the XML Schemas for every TaskOperation that may be instantiated from a file. It is responsible for defining an xs:group named "task_operation" listing each of the task-operation-complex types that may be initialized using the TaskOperationFactory and to iterate across each of the TaskOperationCreator s it contains asking them for the XML schema of the TaskOperation they are responsible for creating.

References core::pack::task::operation::complex_type_name_for_task_op(), task_operation_creator_map_, and task_operation_xml_schema_group_name().

void core::pack::task::operation::TaskOperationFactory::factory_register ( TaskOperationCreatorOP  creator)
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 = utility::tag::TagCOP( utility::tag::TagOP( new utility::tag::Tag() ) ) 
) const

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

References task_operation_creator_map_, and core::pack::task::operation::TR().

Referenced by newTaskOperations(), and protocols::match::TaskOperationMPM::TaskOperationMPM().

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(), and core::pack::task::operation::TR().

Referenced by newTaskOperations().

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

fills vector with new TaskOperations from xml-like tag file

References newTaskOperations(), and core::pack::task::operation::TR().

TaskOperationFactory& core::pack::task::operation::TaskOperationFactory::operator= ( TaskOperationFactory const &  )
privatedelete
void core::pack::task::operation::TaskOperationFactory::provide_xml_schema ( std::string const &  task_operation_name,
utility::tag::XMLSchemaDefinition &  xsd 
) const

Get the XML schema for a given TaskOperation.

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

Throws an error if the TaskOperation is unknown to Rosetta.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

Example Tag syntax for parser as of Summer 2009

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

or

<OperateOnCertainResidues name="PROTEINnopack"> <PreventRepackingRLT> <ResidueHasProperty property="PROTEIN/"> </OperateOnCertainResidues>Get the XML schema for a given TaskOperation.

Throws an error if the TaskOperation is unknown to Rosetta.

Author
Vikram K. Mulligan (vmull.nosp@m.ig@u.nosp@m.w.edu)

References task_operation_creator_map_, and core::pack::task::operation::TR().

std::string core::pack::task::operation::TaskOperationFactory::task_operation_xml_schema_group_name ( )
static

Friends And Related Function Documentation

friend class utility::SingletonBase< TaskOperationFactory >
friend

Member Data Documentation

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

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