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

#include <ResLvlTaskOperationFactory.hh>

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

Public Types

typedef std::map< std::string, ResLvlTaskOperationCreatorOPRLTOC_Map
 
typedef utility::tag::Tag Tag
 
typedef utility::tag::TagCOP TagCOP
 

Public Member Functions

void factory_register (ResLvlTaskOperationCreatorOP)
 
void add_creator (ResLvlTaskOperationCreatorOP)
 add a prototype, using its default type name as the map key More...
 
bool has_type (std::string const &) const
 
void provide_xml_schema (std::string const &task_operation_name, utility::tag::XMLSchemaDefinition &xsd) const
 Get the XML schema for a given ResLvlTaskOperation. More...
 
std::string get_citation_humanreadable (std::string const &taskop_name) const
 Get a human-readable listing of the citations for a given residue level task operation, by taskop name. More...
 
ResLvlTaskOperationOP newRLTO (std::string const &) const
 return new ResLvlTaskOperation by key lookup in rlto_map_ More...
 
ResLvlTaskOperationOP newRLTO (std::string const &class_keyname, TagCOP tag) const
 return new ResLvlTaskOperation by key lookup in rlto_map_ (with the new ResLvlTaskOperation parsing the input Tag) More...
 
void define_res_lvl_task_op_xml_schema (utility::tag::XMLSchemaDefinition &xsd) const
 The ResLvlTaskOperationFactory is the point of entry for the definition of the XML Schemas for every ResLvlTaskOperation that may be instantiated from a file. It is responsible for defining an xs:group named "res_lvl_task_op" listing each of the residue-level-task-operation-complex types that may be initialized using the ResLvlTaskOperationFactory and to iterate across each of the ResLvlTaskOperationCreator it contains asking them for the XML schema of the ResLvlTaskOperation they are responsible for creating. More...
 
RLTOC_Map const & creator_map () const
 Access the creator map (for unit testing). More...
 

Static Public Member Functions

static std::string res_lvl_task_op_xml_schema_group_name ()
 The name given to the XML schema group of all ResLvlTaskOperation s. More...
 

Private Member Functions

 ResLvlTaskOperationFactory ()
 
virtual ~ResLvlTaskOperationFactory ()
 

Private Attributes

RLTOC_Map rltoc_map_
 

Friends

class utility::SingletonBase< ResLvlTaskOperationFactory >
 

Member Typedef Documentation

◆ RLTOC_Map

◆ Tag

◆ TagCOP

Constructor & Destructor Documentation

◆ ResLvlTaskOperationFactory()

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

◆ ~ResLvlTaskOperationFactory()

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

Member Function Documentation

◆ add_creator()

void core::pack::task::operation::ResLvlTaskOperationFactory::add_creator ( ResLvlTaskOperationCreatorOP  rltoc)

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

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

References rltoc_map_.

Referenced by factory_register().

◆ creator_map()

ResLvlTaskOperationFactory::RLTOC_Map const & core::pack::task::operation::ResLvlTaskOperationFactory::creator_map ( ) const

Access the creator map (for unit testing).

References rltoc_map_.

◆ define_res_lvl_task_op_xml_schema()

void core::pack::task::operation::ResLvlTaskOperationFactory::define_res_lvl_task_op_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd) const

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

By convention, the named assigned to each of the complexTypes for ResLvlTaskOperations should be what is returned by the function "complex_type_name_for_res_lvl_task_op" (declared in core/pack/task/operation/task_op_schemas.hh) when given the argument returned by that ResLvlTaskOperation's ResLvlTaskOperationCreator's keyname() function. So long as the writing of XML schema for your ResLvlTaskOperation is accomplished by calling the functions in core/select/res_lvl_task_operations/task_op_schemas.hh, then this should happen automatically.

References core::pack::task::operation::complex_type_name_for_res_lvl_task_op(), res_lvl_task_op_xml_schema_group_name(), and rltoc_map_.

◆ factory_register()

void core::pack::task::operation::ResLvlTaskOperationFactory::factory_register ( ResLvlTaskOperationCreatorOP  creator)

References add_creator().

◆ get_citation_humanreadable()

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

Get a human-readable listing of the citations for a given residue level task operation, by taskop 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 rltoc_map_.

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

◆ has_type()

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

◆ newRLTO() [1/2]

ResLvlTaskOperationOP core::pack::task::operation::ResLvlTaskOperationFactory::newRLTO ( std::string const &  type) const

return new ResLvlTaskOperation by key lookup in rlto_map_

return new ResLvlTaskOperation by key lookup in rltoc_map_ (new ResLvlTaskOperation parses Tag if provided)

References rltoc_map_.

Referenced by core::pack::task::operation::OperateOnCertainResidues::parse_tag(), and core::pack::task::operation::OperateOnResidueSubset::parse_tag().

◆ newRLTO() [2/2]

ResLvlTaskOperationOP core::pack::task::operation::ResLvlTaskOperationFactory::newRLTO ( std::string const &  class_keyname,
TagCOP  tag 
) const

return new ResLvlTaskOperation by key lookup in rlto_map_ (with the new ResLvlTaskOperation parsing the input Tag)

References rltoc_map_.

◆ provide_xml_schema()

void core::pack::task::operation::ResLvlTaskOperationFactory::provide_xml_schema ( std::string const &  task_operation_name,
utility::tag::XMLSchemaDefinition &  xsd 
) const

Get the XML schema for a given ResLvlTaskOperation.

Throws an error if the ResLvlTaskOperation is unknown to Rosetta.

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

References rltoc_map_.

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

◆ res_lvl_task_op_xml_schema_group_name()

std::string core::pack::task::operation::ResLvlTaskOperationFactory::res_lvl_task_op_xml_schema_group_name ( )
static

Friends And Related Function Documentation

◆ utility::SingletonBase< ResLvlTaskOperationFactory >

friend class utility::SingletonBase< ResLvlTaskOperationFactory >
friend

Member Data Documentation

◆ rltoc_map_

RLTOC_Map core::pack::task::operation::ResLvlTaskOperationFactory::rltoc_map_
private

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