42 #include "Teuchos_ParameterEntryXMLConverter.hpp" 
   46 #include "Teuchos_ParameterEntryXMLConverterDB.hpp" 
   55   #ifdef HAVE_TEUCHOS_DEBUG 
   59       "Error: this Parameter Entry XML tag has a type different than " 
   60       "the XMLConverter being used to convert it." <<std::endl <<
 
   63       "XML Parameter Entry type: " <<
 
   66       std::endl <<std::endl);
 
   76     std::endl << std::endl);
 
   79   bool isDefault = 
false;
 
   81   std::string docString = 
"";
 
   93     docString = xmlObj.
getRequired(getDocStringAttributeName());
 
   96   toReturn.setAnyValue(getAny(xmlObj), isDefault);
 
   97   toReturn.setDocString(docString);
 
  110   const std::string &name,
 
  114   #ifdef HAVE_TEUCHOS_DEBUG 
  123     "Error: This converter can't convert the given ParameterEntry to XML " 
  124     "because their types don't match." << std::endl <<
 
  125     "Parameter name: " << name << std::endl <<
 
  126     "Parameter type: " << entry->getAny().typeName() << std::endl <<
 
  131   toReturn.addAttribute(
 
  134   toReturn.addAttribute(getDocStringAttributeName(), entry->docString());
 
  136   toReturn.addAttribute(
 
  138   toReturn.addBool(getDefaultAttributeName(), entry->isDefault());
 
  139   toReturn.addBool(getUsedAttributeName(), entry->isUsed());
 
  140   if(
nonnull(entry->validator())){
 
  142       validatorIDsMap.
find(entry->validator()) == validatorIDsMap.
end(),
 
  144       "Could not find validator in given ValidatorIDsMap! " <<
 
  145       std::endl << std::endl);
 
  146     toReturn.addAttribute(
 
  148       validatorIDsMap.
find(entry->validator())->second);
 
static const std::string & getIdAttributeName()
 
XMLObject fromParameterEntrytoXML(RCP< const ParameterEntry > entry, const std::string &name, const ParameterEntry::ParameterEntryID &id, const ValidatortoIDMap &validatorIDsMap) const 
Converts the given parameter entry to xml. 
 
Thrown when a parameter entry tag is missing it's value attribute. 
 
bool nonnull(const std::shared_ptr< T > &p)
Returns true if p.get()!=NULL. 
 
This object is held as the "value" in the Teuchos::ParameterList std::map. 
 
static const std::string & getTagName()
Get the string that should be used as the tag name for all parameters when they are serialized to xml...
 
#define TEUCHOS_TEST_FOR_EXCEPTION(throw_exception_test, Exception, msg)
Macro for throwing an exception with breakpointing to ease debugging. 
 
Thrown when a converter is being used to convert either and XML tag or ParameterEntry with an innappr...
 
static const std::string & getIdAttributeName()
 
virtual const std::string getTypeAttributeValue() const =0
Gets a string representing the value that should be assigned to the "type" attribute when converting ...
 
static const std::string & getValueAttributeName()
 
Representation of an XML data tree. XMLObject is a ref-counted handle to a XMLObjectImplem object...
 
Converts back and forth between XML and ParameterEntryValidators. 
 
Writes a ParameterList to an XML object. 
 
ParameterEntry fromXMLtoParameterEntry(const XMLObject &xmlObj) const 
Converts the given xml into a parameter entry. 
 
const_iterator end() const 
Returns a const_reference to the end of the map. 
 
static const std::string & getTypeAttributeName()
 
A class for mapping validators to integers. 
 
bool getRequiredBool(const std::string &name) const 
Get a required attribute, returning it as a bool. 
 
unsigned int ParameterEntryID
 
const_iterator find(const RCP< const ParameterEntryValidator > validator) const 
Returns an iterator to the validator and id specified by the validator. 
 
virtual const std::string getValueAttributeValue(RCP< const ParameterEntry > entry) const =0
Gets the value to be assigned to the "value" attribute when converting the paramter entry to xml...
 
A collection of Exceptions that can be potentially thrown when converting a ParameterList to and from...
 
const std::string & getAttribute(const std::string &name) const 
Return the value of the attribute with the specified name. 
 
static RCP< const ParameterEntryXMLConverter > getDefaultConverter()
Gets the default converter to be used on Parameter Entries. 
 
Smart reference counting pointer class for automatic garbage collection. 
 
bool hasAttribute(const std::string &name) const 
Find out if the current node has an attribute of the specified name. 
 
static const std::string & getNameAttributeName()
 
const std::string & getRequired(const std::string &name) const 
Get an attribute, throwing an std::exception if it is not found. 
 
Thrown when a referenced validator can't be found.