lsst.pex.policy
tickets.DM-23835-gcf878a0e59
|
an abstract class representing a source of serialized Policy parameter data. More...
#include <PolicySource.h>
Public Member Functions | |
PolicySource (SupportedFormats::Ptr fmts=defaultFormats) | |
create a Policy file that points a file with given path. More... | |
virtual | ~PolicySource () |
destroy the source More... | |
virtual const std::string & | getFormatName ()=0 |
virtual void | load (Policy &policy) const =0 |
load the data from this Policy source into a Policy object More... | |
virtual void | load (Policy &policy)=0 |
Static Public Attributes | |
static SupportedFormats::Ptr | defaultFormats |
Protected Attributes | |
SupportedFormats::Ptr | _formats |
an abstract class representing a source of serialized Policy parameter data.
This might be a file or a stream; sub-classes handle the different possibilities. This class can determine which format the data is in (which may involve reading the first few characters) and load it into a Policy.
Definition at line 52 of file PolicySource.h.
|
inline |
create a Policy file that points a file with given path.
fmts | the list of formats to support |
Definition at line 58 of file PolicySource.h.
|
virtual |
destroy the source
Definition at line 35 of file PolicySource.cc.
|
pure virtual |
identifiers for the different supported formats ‍/
enum FormatType {
/** Unknown and unsupported */ UNSUPPORTED,
/** XML format */ XML,
/** Policy authoring format (PAF) */ PAF,
/** Supported format but unknown */ UNKNOWN };
/** determine the format that the data is stored in and return its format type identifier. Note that UNKNOWN will be returned if the format is supported–that is, the data can be read into a Policy object–but otherwise does not have a defined type identifier defined. This may cause the first few records of the source to be read.
IOError | if an error occurs while reading the first few characters of the source stream. / virtual FormatType getFormatType(); /** return the name of the format that the data is stored in. This may cause the first few records of the source to be read. @exception IOError if an error occurs while reading the first few characters of the source stream. |
Implemented in lsst::pex::policy::PolicyFile, and lsst::pex::policy::PolicyString.
|
pure virtual |
load the data from this Policy source into a Policy object
policy | the policy object to load the data into |
ParserException | if an error occurs while parsing the data |
IOError | if an I/O error occurs while reading from the source stream. |
Implemented in lsst::pex::policy::PolicyFile, lsst::pex::policy::DefaultPolicyFile, and lsst::pex::policy::PolicyString.
|
pure virtual |
Implemented in lsst::pex::policy::PolicyFile, and lsst::pex::policy::PolicyString.
|
protected |
Definition at line 135 of file PolicySource.h.
|
static |
returns true if the given string containing a content identifier indicates that it contains dictionary data. Dictionary data has a content id of "<?cfg ... dictionary ?>" (where ... indicates the format); policy data has an id of "<?cfg ... policy ?>". ‍/
static bool indicatesDictionary(const std::string& contentid) { return regex_search(contentid, DICTIONARY_CONTENT); }
/** a default set of formats
Definition at line 130 of file PolicySource.h.