LSSTApplications  17.0+124,17.0+14,17.0+73,18.0.0+37,18.0.0+80,18.0.0-4-g68ffd23+4,18.1.0-1-g0001055+12,18.1.0-1-g03d53ef+5,18.1.0-1-g1349e88+55,18.1.0-1-g2505f39+44,18.1.0-1-g5315e5e+4,18.1.0-1-g5e4b7ea+14,18.1.0-1-g7e8fceb+4,18.1.0-1-g85f8cd4+48,18.1.0-1-g8ff0b9f+4,18.1.0-1-ga2c679d+1,18.1.0-1-gd55f500+35,18.1.0-10-gb58edde+2,18.1.0-11-g0997b02+4,18.1.0-13-gfe4edf0b+12,18.1.0-14-g259bd21+21,18.1.0-19-gdb69f3f+2,18.1.0-2-g5f9922c+24,18.1.0-2-gd3b74e5+11,18.1.0-2-gfbf3545+32,18.1.0-26-g728bddb4+5,18.1.0-27-g6ff7ca9+2,18.1.0-3-g52aa583+25,18.1.0-3-g8ea57af+9,18.1.0-3-gb69f684+42,18.1.0-3-gfcaddf3+6,18.1.0-32-gd8786685a,18.1.0-4-gf3f9b77+6,18.1.0-5-g1dd662b+2,18.1.0-5-g6dbcb01+41,18.1.0-6-gae77429+3,18.1.0-7-g9d75d83+9,18.1.0-7-gae09a6d+30,18.1.0-9-gc381ef5+4,w.2019.45
LSSTDataManagementBasePackage
Public Member Functions | Static Public Attributes | Protected Attributes | List of all members
lsst::pex::policy::PolicySource Class Referenceabstract

an abstract class representing a source of serialized Policy parameter data. More...

#include <PolicySource.h>

Inheritance diagram for lsst::pex::policy::PolicySource:
lsst::pex::policy::PolicyFile lsst::pex::policy::PolicyString lsst::pex::policy::DefaultPolicyFile lsst::pex::policy::UrnPolicyFile

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::stringgetFormatName ()=0
 identifiers for the different supported formats More...
 
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
 load the data from this Policy source into a Policy object More...
 

Static Public Attributes

static SupportedFormats::Ptr defaultFormats
 returns true if the given string containing a content identifier indicates that it contains dictionary data. More...
 

Protected Attributes

SupportedFormats::Ptr _formats
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ PolicySource()

lsst::pex::policy::PolicySource::PolicySource ( SupportedFormats::Ptr  fmts = defaultFormats)
inline

create a Policy file that points a file with given path.

Parameters
fmtsthe list of formats to support

Definition at line 58 of file PolicySource.h.

58  : _formats(fmts) {
60  }
SupportedFormats::Ptr _formats
Definition: PolicySource.h:135
static SupportedFormats::Ptr defaultFormats
returns true if the given string containing a content identifier indicates that it contains dictionar...
Definition: PolicySource.h:130
static void initDefaultFormats(SupportedFormats &sf)
initialize a given SupportFormats instance with the formats known by default.

◆ ~PolicySource()

lsst::pex::policy::PolicySource::~PolicySource ( )
virtual

destroy the source

Definition at line 35 of file PolicySource.cc.

35 {}

Member Function Documentation

◆ getFormatName()

virtual const std::string& lsst::pex::policy::PolicySource::getFormatName ( )
pure virtual

identifiers for the different supported formats

Unknown and unsupported XML format Policy authoring format (PAF) Supported format but 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.

Exceptions
IOErrorif an error occurs while reading the first few characters of the source stream. 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.
IOErrorif an error occurs while reading the first few characters of the source stream.

Implemented in lsst::pex::policy::PolicyFile, and lsst::pex::policy::PolicyString.

◆ load() [1/2]

virtual void lsst::pex::policy::PolicySource::load ( Policy policy) const
pure virtual

load the data from this Policy source into a Policy object

Parameters
policythe policy object to load the data into
Exceptions
ParserExceptionif an error occurs while parsing the data
IOErrorif 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.

◆ load() [2/2]

virtual void lsst::pex::policy::PolicySource::load ( Policy policy)
pure virtual

load the data from this Policy source into a Policy object

Parameters
policythe policy object to load the data into
Exceptions
ParserExceptionif an error occurs while parsing the data
IOErrorif an I/O error occurs while reading from the source stream.

Implemented in lsst::pex::policy::PolicyFile, and lsst::pex::policy::PolicyString.

Member Data Documentation

◆ _formats

SupportedFormats::Ptr lsst::pex::policy::PolicySource::_formats
protected

Definition at line 135 of file PolicySource.h.

◆ defaultFormats

SupportedFormats::Ptr lsst::pex::policy::PolicySource::defaultFormats
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 ?>". a default set of formats

Definition at line 130 of file PolicySource.h.


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