44#include "Teuchos_StaticSetupMacro.hpp"
54 getConverterMap().insert(
55 ConverterPair(condition->getTypeAttributeValue(), converterToAdd));
61 ConverterMap::const_iterator it =
65 "Could not find a ConditionXMLConverter for a condition of type " <<
67 "xml." << std::endl << std::endl
78 ConverterMap::const_iterator it = getConverterMap().find(conditionType);
81 "Could not find a ConditionXMLConverter for a condition of type " <<
82 conditionType <<
" when reading in a condition from " <<
83 "xml." << std::endl << std::endl
92 return getConverter(*condition)->fromConditiontoXML(condition, entryIDsMap);
100 fromXMLtoCondition(xmlObject, entryIDsMap);
103ConditionXMLConverterDB::ConverterMap&
104ConditionXMLConverterDB::getConverterMap()
106 static ConverterMap masterMap;
117TEUCHOS_STATIC_SETUP()
A database for ConditionXMLConverters.
#define TEUCHOS_ADD_NUMBERCONDITION_CONVERTER(T)
Adds a NumberCondition of type T.
A collection of Exceptions thrown when converting Conditions to and from XML.
An xml converter for AndConditions.
An xml converter for BoolConditions.
Thrown when an appropriate Condition Converter can't be found.
static RCP< const ConditionXMLConverter > getConverter(const Condition &condition)
Get an appropriate ConditionXMLConverter given a Condition.
static RCP< Condition > convertXML(const XMLObject &xmlObject, const XMLParameterListReader::EntryIDsMap &entryIDsMap)
Given an XMLObject and IDtoConditionMap, converts the XMLObject to a Condition.
static void addConverter(RCP< const Condition > condition, RCP< ConditionXMLConverter > converterToAdd)
Add a converter to the database.
static XMLObject convertCondition(RCP< const Condition > condition, const XMLParameterListWriter::EntryIDsMap &entryIDsMap)
Given a condition and ConditiontoIDMap, converts the condition to XML.
static const std::string & getTypeAttributeName()
Returns the string to be used for the type attribute.
A Condition determines whether or not a particular set of conditions are currently occuring.
virtual std::string getTypeAttributeValue() const =0
Get the value that should be used for the condition type attribute when converting a condition to XML...
Class for retrieving a dummy object of type T.
An xml converter for EqualsConditions.
An xml converter for NotConditions.
An xml converter for OrConditions.
Smart reference counting pointer class for automatic garbage collection.
An xml converter for StringConditions The valid XML represntation for a StringCondition is:
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object,...
const std::string & getRequired(const std::string &name) const
Get an attribute, throwing an std::exception if it is not found.
std::map< ParameterEntry::ParameterEntryID, RCP< ParameterEntry > > EntryIDsMap
Convenience typedef.
std::map< RCP< const ParameterEntry >, ParameterEntry::ParameterEntryID, RCPConstComp > EntryIDsMap
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging.
The Teuchos namespace contains all of the classes, structs and enums used by Teuchos,...
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.