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);
A database for ConditionXMLConverters.
#define TEUCHOS_ADD_NUMBERCONDITION_CONVERTER(T)
Adds a NumberCondition of type T.
#define TEUCHOS_STATIC_SETUP()
Run setup code statically in a translation unit.
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.
std::pair< std::string, RCP< ConditionXMLConverter > > ConverterPair
convience typedef.
static RCP< Condition > convertXML(const XMLObject &xmlObject, const XMLParameterListReader::EntryIDsMap &entryIDsMap)
Given an XMLObject and IDtoConditionMap, converts the XMLObject to a Condition.
std::map< std::string, RCP< ConditionXMLConverter > > ConverterMap
convience class.
static ConverterMap & getConverterMap()
Gets the default converter to be used to convert Conditions.
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.
TEUCHOS_DEPRECATED RCP< T > rcp(T *p, Dealloc_T dealloc, bool owns_mem)
Deprecated.