Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static 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< TaskOperationOPTaskOperationOPs
 
typedef std::map< std::string, TaskOperationCreatorOPTaskOperationCreatorMap
 
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...
 
std::string get_citation_humanreadable (std::string const &taskop_name) const
 Get a human-readable listing of the citations for a given taskop, by taskop name. More...
 
TaskOperationOP newTaskOperation (std::string const &, basic::datacache::DataMap &datamap, TagCOP=MakeTagCOP()) 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
 

Static Private Member Functions

static TagCOP MakeTagCOP ()
 Workaround for https://developercommunity.visualstudio.com/content/problem/1170468/ice-when-using-make-shared-via-a-using-declaration.html. More...
 

Private Attributes

TaskOperationCreatorMap task_operation_creator_map_
 

Friends

class utility::SingletonBase< TaskOperationFactory >
 

Member Typedef Documentation

◆ Tag

◆ TagCOP

◆ TagOP

◆ TaskOperationCreatorMap

◆ TaskOperationOPs

Constructor & Destructor Documentation

◆ TaskOperationFactory() [1/2]

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

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

◆ ~TaskOperationFactory()

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

◆ TaskOperationFactory() [2/2]

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

Member Function Documentation

◆ add_creator() [1/3]

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

adds a ResFilter prototype creator to the child ResFilterFactory

◆ add_creator() [2/3]

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

pass through to child factories

adds a ResLvlTaskOperation prototype creator to the child ResLvlTaskOperationFactory

◆ add_creator() [3/3]

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().

◆ creator_map()

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

◆ define_task_op_xml_schema()

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().

◆ factory_register()

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

◆ get_citation_humanreadable()

std::string core::pack::task::operation::TaskOperationFactory::get_citation_humanreadable ( std::string const &  taskop_name) const

Get a human-readable listing of the citations for a given taskop, by taskop name.

Get a human-readable listing of the citations for a given filter, by filter name.

Returns an empty string if there are no citations.

Author
Vikram K. Mulligan (vmull.nosp@m.igan.nosp@m.@flat.nosp@m.iron.nosp@m.insti.nosp@m.tute.nosp@m..org).

References task_operation_creator_map_.

Referenced by protocols::rosetta_scripts::print_information().

◆ has_type()

bool core::pack::task::operation::TaskOperationFactory::has_type ( std::string const &  type) const

◆ MakeTagCOP()

TaskOperationFactory::TagCOP core::pack::task::operation::TaskOperationFactory::MakeTagCOP ( )
staticprivate

◆ newTaskOperation()

TaskOperationOP core::pack::task::operation::TaskOperationFactory::newTaskOperation ( std::string const &  type,
basic::datacache::DataMap datamap,
TagCOP  tag = MakeTagCOP() 
) 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().

◆ newTaskOperations() [1/2]

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().

◆ newTaskOperations() [2/2]

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().

◆ operator=()

TaskOperationFactory& core::pack::task::operation::TaskOperationFactory::operator= ( TaskOperationFactory const &  )
privatedelete

◆ provide_xml_schema()

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().

Referenced by protocols::rosetta_scripts::print_information().

◆ task_operation_xml_schema_group_name()

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

Friends And Related Function Documentation

◆ utility::SingletonBase< TaskOperationFactory >

friend class utility::SingletonBase< TaskOperationFactory >
friend

Member Data Documentation

◆ task_operation_creator_map_

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

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