lsst.pex.policy  17.0.1+8
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Attributes | List of all members
lsst::pex::policy::PolicyParser Class Referenceabstract

an abstract class for parsing serialized Policy data and loading it into a Policy object. More...

#include <PolicyParser.h>

Inheritance diagram for lsst::pex::policy::PolicyParser:
lsst::daf::base::Citizen lsst::pex::policy::paf::PAFParser

Public Types

typedef unsigned long memId
 
typedef memId(* memNewCallback) (const memId cid)
 
typedef memId(* memCallback) (const Citizen *ptr)
 

Public Member Functions

 PolicyParser (Policy &policy, bool strict=true)
 Create a Parser attached to a policy object to be loaded. More...
 
virtual ~PolicyParser ()
 destroy this factory More...
 
bool isStrict ()
 return true if this parser will be strict in adhering to syntax rules. More...
 
void setStrict (bool strict)
 set whether this parser will be strict in adhering to syntax rules. More...
 
virtual int parse (std::istream &is)=0
 parse data from the input stream and load results into the attached Policy. More...
 
std::string repr () const
 
void markPersistent (void)
 
memId getId () const
 
PolicygetPolicy ()
 return the policy object More...
 
const PolicygetPolicy () const
 return the policy object More...
 

Static Public Member Functions

static bool hasBeenCorrupted ()
 
static memId getNextMemId ()
 
static int init ()
 
static int census (int, memId startingMemId=0)
 
static void census (std::ostream &stream, memId startingMemId=0)
 
static const std::vector< const Citizen *> * census ()
 
static int census (int, memId startingMemId=0)
 
static void census (std::ostream &stream, memId startingMemId=0)
 
static const std::vector< const Citizen *> * census ()
 
static memId setNewCallbackId (memId id)
 
static memId setNewCallbackId (memId id)
 
static memId setDeleteCallbackId (memId id)
 
static memId setDeleteCallbackId (memId id)
 
static memNewCallback setNewCallback (memNewCallback func)
 
static memCallback setDeleteCallback (memCallback func)
 
static memCallback setCorruptionCallback (memCallback func)
 

Public Attributes

 magicSentinel
 

Protected Attributes

Policy_pol
 
bool _strict
 

Detailed Description

an abstract class for parsing serialized Policy data and loading it into a Policy object.

Definition at line 47 of file PolicyParser.h.

Constructor & Destructor Documentation

◆ PolicyParser()

lsst::pex::policy::PolicyParser::PolicyParser ( Policy policy,
bool  strict = true 
)
inline

Create a Parser attached to a policy object to be loaded.

Parameters
policythe Policy object to load the parsed data into
strictif true, be strict in reporting errors in file contents and syntax. If false, errors will be ignored if possible; often, such errors will result in some data not getting loaded.

Definition at line 58 of file PolicyParser.h.

◆ ~PolicyParser()

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

destroy this factory

Definition at line 43 of file PolicyParser.cc.

Member Function Documentation

◆ getPolicy() [1/2]

Policy& lsst::pex::policy::PolicyParser::getPolicy ( )
inline

return the policy object

Definition at line 93 of file PolicyParser.h.

◆ getPolicy() [2/2]

const Policy& lsst::pex::policy::PolicyParser::getPolicy ( ) const
inline

return the policy object

Definition at line 94 of file PolicyParser.h.

◆ isStrict()

bool lsst::pex::policy::PolicyParser::isStrict ( )
inline

return true if this parser will be strict in adhering to syntax rules.

In this case, exceptions will be thrown if any syntax errors are detected. Otherwise, some syntax errors may be ignored.

Definition at line 71 of file PolicyParser.h.

◆ parse()

virtual int lsst::pex::policy::PolicyParser::parse ( std::istream is)
pure virtual

parse data from the input stream and load results into the attached Policy.

Parameters
isthe stream to read encoded data from
Returns
int the number of parameters values loaded. This does not include sub-Policy objects.

Implemented in lsst::pex::policy::paf::PAFParser.

◆ setStrict()

void lsst::pex::policy::PolicyParser::setStrict ( bool  strict)
inline

set whether this parser will be strict in adhering to syntax rules.

If set to true, exceptions will be thrown if any syntax errors are detected. Otherwise, some syntax errors may be ignored.

Definition at line 78 of file PolicyParser.h.

Member Data Documentation

◆ _pol

Policy& lsst::pex::policy::PolicyParser::_pol
protected

Definition at line 99 of file PolicyParser.h.

◆ _strict

bool lsst::pex::policy::PolicyParser::_strict
protected

Definition at line 100 of file PolicyParser.h.


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