Rosetta
Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
protocols::jd3::pose_outputters::PoseOutputterFactory Class Reference

#include <PoseOutputterFactory.hh>

Inheritance diagram for protocols::jd3::pose_outputters::PoseOutputterFactory:
Inheritance graph
[legend]

Public Types

typedef std::map< std::string, PoseOutputterCreatorOPPoseOutputterMap
 
typedef std::map< std::string, SecondaryPoseOutputterCreatorOPSecondaryOutputterMap
 
typedef std::list< PoseOutputterCreatorCOPCreatorList
 
typedef std::list< SecondaryPoseOutputterCreatorCOPSecondaryCreatorList
 
typedef utility::tag::Tag Tag
 
typedef utility::tag::TagCOP TagCOP
 

Public Member Functions

void factory_register (PoseOutputterCreatorOP creator)
 add a PoseOutputter prototype, using its default type name as the map key More...
 
void factory_register (SecondaryPoseOutputterCreatorOP creator)
 
PoseOutputterOP new_pose_outputter (std::string const &) const
 Create a pose outputter given its identifying string, e.g. the name of an XML element. More...
 
SecondaryPoseOutputterOP new_secondary_outputter (std::string const &) const
 Create a SecondaryPoseOutputter given its identifying string, e.g. the name of an XML element. More...
 
PoseOutputterOP pose_outputter_from_command_line () const
 Construct a PoseOutputter for a job relying on the command line in the absence of a specified outputter class in the job-definition file. More...
 
std::list< SecondaryPoseOutputterOPsecondary_pose_outputters_from_command_line () const
 Construct all SecondaryPoseOutputters for a job relying on the command line in the absence of a specified list of outputter classes in the job-definition file. More...
 
void set_throw_on_double_registration ()
 Should the Factory throw an exception or call utility::exit when it encounters the second of two PoseOutputterCreators or two SecondaryPoseOutputters with the same keyname? It's default behavior is to call utility::exit, but this method allows you to set it so that it will throw an exception instead (which is unit testable). More...
 
void define_pose_outputter_xml_schema (utility::tag::XMLSchemaDefinition &xsd) const
 The PoseOutputterFactory is the point of entry for the definition of the XML Schemas for every PoseOutputter that may be instantiated from a file. It is responsible for defining an xs:group named "pose_outputter" listing each of the pose-outputter-complex types that may be initialized using the PoseOutputterFactory and to iterate across each of the PoseOutputterCreators it contains asking them for the XML schema of the PoseOutputter they are responsible for creating. More...
 
void define_secondary_pose_outputter_xml_schema (utility::tag::XMLSchemaDefinition &xsd) const
 The PoseOutputterFactory is the point of entry for the definition of the XML Schemas for every SecondaryPoseOutputter that may be instantiated from a file. It is responsible for defining an xs:group named "secondary_pose_outputter" listing each of the pose-outputter-complex types that may be initialized using the PoseOutputterFactory and to iterate across each of the SecondaryPoseOutputterCreators it contains asking them for the XML schema of the SecondaryPoseOutputter they are responsible for creating. More...
 
void list_outputter_options_read (utility::options::OptionKeyList &read_options) const
 
void list_secondary_outputter_options_read (utility::options::OptionKeyList &read_options) const
 
CreatorList const & pose_outputter_creators () const
 
SecondaryCreatorList const & secondary_pose_outputter_creators () const
 

Static Public Member Functions

static std::string pose_outputter_xml_schema_group_name ()
 
static std::string complex_type_name_for_pose_outputter (std::string const &outputter_key)
 
static std::string secondary_pose_outputter_xml_schema_group_name ()
 
static std::string complex_type_name_for_secondary_pose_outputter (std::string const &outputter_key)
 

Private Member Functions

 PoseOutputterFactory ()
 
 PoseOutputterFactory (PoseOutputterFactory const &)=delete
 
PoseOutputterFactory const & operator= (PoseOutputterFactory const &)=delete
 

Private Attributes

PoseOutputterMap pose_outputter_creator_map_
 
SecondaryOutputterMap secondary_pose_outputter_creator_map_
 
CreatorList creator_list_
 
SecondaryCreatorList secondary_creator_list_
 
bool throw_on_double_registration_
 

Friends

class utility::SingletonBase< PoseOutputterFactory >
 

Member Typedef Documentation

◆ CreatorList

◆ PoseOutputterMap

◆ SecondaryCreatorList

◆ SecondaryOutputterMap

◆ Tag

◆ TagCOP

Constructor & Destructor Documentation

◆ PoseOutputterFactory() [1/2]

protocols::jd3::pose_outputters::PoseOutputterFactory::PoseOutputterFactory ( )
private

◆ PoseOutputterFactory() [2/2]

protocols::jd3::pose_outputters::PoseOutputterFactory::PoseOutputterFactory ( PoseOutputterFactory const &  )
privatedelete

Member Function Documentation

◆ complex_type_name_for_pose_outputter()

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::complex_type_name_for_pose_outputter ( std::string const &  outputter_key)
static

◆ complex_type_name_for_secondary_pose_outputter()

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::complex_type_name_for_secondary_pose_outputter ( std::string const &  outputter_key)
static

◆ define_pose_outputter_xml_schema()

void protocols::jd3::pose_outputters::PoseOutputterFactory::define_pose_outputter_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd) const

The PoseOutputterFactory is the point of entry for the definition of the XML Schemas for every PoseOutputter that may be instantiated from a file. It is responsible for defining an xs:group named "pose_outputter" listing each of the pose-outputter-complex types that may be initialized using the PoseOutputterFactory and to iterate across each of the PoseOutputterCreators it contains asking them for the XML schema of the PoseOutputter they are responsible for creating.

References complex_type_name_for_pose_outputter(), complex_type_name_for_secondary_pose_outputter(), pose_outputter_creator_map_, pose_outputter_xml_schema_group_name(), secondary_pose_outputter_creator_map_, and secondary_pose_outputter_xml_schema_group_name().

◆ define_secondary_pose_outputter_xml_schema()

void protocols::jd3::pose_outputters::PoseOutputterFactory::define_secondary_pose_outputter_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd) const

The PoseOutputterFactory is the point of entry for the definition of the XML Schemas for every SecondaryPoseOutputter that may be instantiated from a file. It is responsible for defining an xs:group named "secondary_pose_outputter" listing each of the pose-outputter-complex types that may be initialized using the PoseOutputterFactory and to iterate across each of the SecondaryPoseOutputterCreators it contains asking them for the XML schema of the SecondaryPoseOutputter they are responsible for creating.

References complex_type_name_for_secondary_pose_outputter(), secondary_pose_outputter_creator_map_, and secondary_pose_outputter_xml_schema_group_name().

◆ factory_register() [1/2]

void protocols::jd3::pose_outputters::PoseOutputterFactory::factory_register ( PoseOutputterCreatorOP  creator)

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

References creator_list_, pose_outputter_creator_map_, and throw_on_double_registration_.

◆ factory_register() [2/2]

void protocols::jd3::pose_outputters::PoseOutputterFactory::factory_register ( SecondaryPoseOutputterCreatorOP  creator)

◆ list_outputter_options_read()

void protocols::jd3::pose_outputters::PoseOutputterFactory::list_outputter_options_read ( utility::options::OptionKeyList &  read_options) const

References creator_list_.

◆ list_secondary_outputter_options_read()

void protocols::jd3::pose_outputters::PoseOutputterFactory::list_secondary_outputter_options_read ( utility::options::OptionKeyList &  read_options) const

◆ new_pose_outputter()

PoseOutputterOP protocols::jd3::pose_outputters::PoseOutputterFactory::new_pose_outputter ( std::string const &  pose_outputter_type) const

Create a pose outputter given its identifying string, e.g. the name of an XML element.

return new PoseOutputter by key lookup in pose_outputter_prototype_map_

References pose_outputter_creator_map_, and protocols::jd3::pose_outputters::TR().

◆ new_secondary_outputter()

SecondaryPoseOutputterOP protocols::jd3::pose_outputters::PoseOutputterFactory::new_secondary_outputter ( std::string const &  secondary_outputter_type) const

Create a SecondaryPoseOutputter given its identifying string, e.g. the name of an XML element.

return new SecondaryPoseOutputter by key lookup in secondary_pose_outputter_prototype_map_

References secondary_pose_outputter_creator_map_, and protocols::jd3::pose_outputters::TR().

◆ operator=()

PoseOutputterFactory const& protocols::jd3::pose_outputters::PoseOutputterFactory::operator= ( PoseOutputterFactory const &  )
privatedelete

◆ pose_outputter_creators()

PoseOutputterFactory::CreatorList const & protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_creators ( ) const

References creator_list_.

◆ pose_outputter_from_command_line()

PoseOutputterOP protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_from_command_line ( ) const

Construct a PoseOutputter for a job relying on the command line in the absence of a specified outputter class in the job-definition file.

In the event that there are multiple PoseOutputters specified on the command line, the one that is returned is the first in alphabetical order by key that is specified.

References pose_outputter_creator_map_.

◆ pose_outputter_xml_schema_group_name()

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_xml_schema_group_name ( )
static

◆ secondary_pose_outputter_creators()

PoseOutputterFactory::SecondaryCreatorList const & protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_creators ( ) const

◆ secondary_pose_outputter_xml_schema_group_name()

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_xml_schema_group_name ( )
static

◆ secondary_pose_outputters_from_command_line()

std::list< SecondaryPoseOutputterOP > protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputters_from_command_line ( ) const

Construct all SecondaryPoseOutputters for a job relying on the command line in the absence of a specified list of outputter classes in the job-definition file.

In the event that there are multiple PoseOutputters specified on the command line, the one that is returned is the first in alphabetical order by key that is specified.

References secondary_pose_outputter_creator_map_.

◆ set_throw_on_double_registration()

void protocols::jd3::pose_outputters::PoseOutputterFactory::set_throw_on_double_registration ( )

Should the Factory throw an exception or call utility::exit when it encounters the second of two PoseOutputterCreators or two SecondaryPoseOutputters with the same keyname? It's default behavior is to call utility::exit, but this method allows you to set it so that it will throw an exception instead (which is unit testable).

References throw_on_double_registration_.

Friends And Related Function Documentation

◆ utility::SingletonBase< PoseOutputterFactory >

friend class utility::SingletonBase< PoseOutputterFactory >
friend

Member Data Documentation

◆ creator_list_

CreatorList protocols::jd3::pose_outputters::PoseOutputterFactory::creator_list_
private

◆ pose_outputter_creator_map_

PoseOutputterMap protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_creator_map_
private

◆ secondary_creator_list_

SecondaryCreatorList protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_creator_list_
private

◆ secondary_pose_outputter_creator_map_

SecondaryOutputterMap protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_creator_map_
private

◆ throw_on_double_registration_

bool protocols::jd3::pose_outputters::PoseOutputterFactory::throw_on_double_registration_
private

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