Rosetta  2021.16
 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
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,
PoseOutputterCreatorOP
PoseOutputterMap
 
typedef std::map< std::string,
SecondaryPoseOutputterCreatorOP
SecondaryOutputterMap
 
typedef std::list
< PoseOutputterCreatorCOP
CreatorList
 
typedef std::list
< SecondaryPoseOutputterCreatorCOP
SecondaryCreatorList
 
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
< SecondaryPoseOutputterOP
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. 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

Constructor & Destructor Documentation

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

Member Function Documentation

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::complex_type_name_for_pose_outputter ( std::string const &  outputter_key)
static
std::string protocols::jd3::pose_outputters::PoseOutputterFactory::complex_type_name_for_secondary_pose_outputter ( std::string const &  outputter_key)
static
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().

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

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

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

References creator_list_.

void protocols::jd3::pose_outputters::PoseOutputterFactory::list_secondary_outputter_options_read ( utility::options::OptionKeyList &  read_options) const
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().

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

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

References creator_list_.

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

std::string protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_xml_schema_group_name ( )
static
PoseOutputterFactory::SecondaryCreatorList const & protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_creators ( ) const
std::string protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_xml_schema_group_name ( )
static
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_.

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

friend class utility::SingletonBase< PoseOutputterFactory >
friend

Member Data Documentation

CreatorList protocols::jd3::pose_outputters::PoseOutputterFactory::creator_list_
private
PoseOutputterMap protocols::jd3::pose_outputters::PoseOutputterFactory::pose_outputter_creator_map_
private
SecondaryCreatorList protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_creator_list_
private
SecondaryOutputterMap protocols::jd3::pose_outputters::PoseOutputterFactory::secondary_pose_outputter_creator_map_
private
bool protocols::jd3::pose_outputters::PoseOutputterFactory::throw_on_double_registration_
private

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