Rosetta  2021.16
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory Class Reference

#include <ClusterMetricFactory.hh>

Inheritance diagram for protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory:
Inheritance graph
[legend]

Public Member Functions

void factory_register (ClusterMetricCreatorOP creator)
 
bool has_type (std::string const &) const
 
void provide_xml_schema (std::string const &selector_name, utility::tag::XMLSchemaDefinition &xsd) const
 
ClusterMetricOP new_cluster_metric (std::string const &selector_name, core::pose::Pose const &pose, utility::tag::TagCOP tag, basic::datacache::DataMap &datamap) const
 
void set_throw_on_double_registration ()
 Should the Factory throw an exception or call utility::exit when it encounters the second of two ClusterMetricCreators 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_cluster_metric_xml_schema (utility::tag::XMLSchemaDefinition &xsd) const
 
std::map< std::string,
ClusterMetricCreatorOP > 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 cluster_metric_xml_schema_group_name ()
 

Private Member Functions

 ClusterMetricFactory ()
 
 ClusterMetricFactory (ClusterMetricFactory const &)=delete
 
ClusterMetricFactory const & operator= (ClusterMetricFactory const &)=delete
 

Private Attributes

std::map< std::string,
ClusterMetricCreatorOP
creator_map_
 
bool throw_on_double_registration_
 

Friends

class utility::SingletonBase< ClusterMetricFactory >
 

Constructor & Destructor Documentation

protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::ClusterMetricFactory ( )
private
protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::ClusterMetricFactory ( ClusterMetricFactory const &  )
privatedelete

Member Function Documentation

std::string protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::cluster_metric_xml_schema_group_name ( )
static
std::map< std::string, ClusterMetricCreatorOP > const & protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::creator_map ( ) const

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

References creator_map_.

void protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::define_cluster_metric_xml_schema ( utility::tag::XMLSchemaDefinition &  xsd) const

By convention, the named assigned to each of the complexTypes for ClusterMetrics should be what is returned by the function "complex_type_name_for_cluster_metric" (declared in protocols/multistage_rosetta_scripts/cluster/util.hh) when given the argument returned by that ClusterMetric's ClusterMetricCreator's keyname() function. So long as the writing of XML schema for your residue selector is accomplished by the calling the functions in protocols/multistage_rosetta_scripts/cluster/util.hh, then this should happen automatically.

References cluster_metric_xml_schema_group_name(), protocols::multistage_rosetta_scripts::cluster::complex_type_name_for_cluster_metric(), and creator_map_.

void protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::factory_register ( ClusterMetricCreatorOP  creator)
bool protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::has_type ( std::string const &  selector_type) const

References creator_map_.

Referenced by new_cluster_metric(), and provide_xml_schema().

ClusterMetricOP protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::new_cluster_metric ( std::string const &  selector_name,
core::pose::Pose const &  pose,
utility::tag::TagCOP  tag,
basic::datacache::DataMap &  datamap 
) const

References creator_map_, and has_type().

ClusterMetricFactory const& protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::operator= ( ClusterMetricFactory const &  )
privatedelete
void protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::provide_xml_schema ( std::string const &  selector_name,
utility::tag::XMLSchemaDefinition &  xsd 
) const

References creator_map_, and has_type().

void protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::set_throw_on_double_registration ( )

Should the Factory throw an exception or call utility::exit when it encounters the second of two ClusterMetricCreators 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< ClusterMetricFactory >
friend

Member Data Documentation

std::map< std::string, ClusterMetricCreatorOP > protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::creator_map_
private
bool protocols::multistage_rosetta_scripts::cluster::ClusterMetricFactory::throw_on_double_registration_
private

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