LSSTApplications  19.0.0-14-gb0260a2+d60062ef16,20.0.0+1540ce6389,20.0.0+7c6b12c2f9,20.0.0+ae956f52c5,20.0.0+be870186d9,20.0.0+e2e26847c2,20.0.0-1-g10df615+7683e4f082,20.0.0-1-g253301a+7c6b12c2f9,20.0.0-1-g2b7511a+46a6078777,20.0.0-1-g3dda6ea+606b36f8c0,20.0.0-1-g4d801e7+901ee84527,20.0.0-1-g5b95a8c+a5fa15ec54,20.0.0-1-gb058bd0+46a6078777,20.0.0-1-gb88604f+acecce4127,20.0.0-1-gc96f8cb+61a4a056b1,20.0.0-1-gedffbd8+4f0e391d5e,20.0.0-10-g0891cd99+aadc987f3e,20.0.0-10-g9a20bd332+576ca7b471,20.0.0-17-gcdbda88+ed0d4927ab,20.0.0-2-g4dae9ad+61a4a056b1,20.0.0-2-g61b8584+85c46248f3,20.0.0-2-gb780d76+f45b7d88f4,20.0.0-2-gf072044+7c6b12c2f9,20.0.0-21-g9bbb7f7+61a4a056b1,20.0.0-22-gc512666+9eba1c4719,20.0.0-23-g8900aa8+68630f7098,20.0.0-3-g1653f94+85c46248f3,20.0.0-3-g4cc78c6+63636aeed8,20.0.0-3-g750bffe+e05f822de9,20.0.0-3-gbd60e8c+ff10c6d78d,20.0.0-32-g15a0e07c+ff1c9f120b,20.0.0-4-g97dc21a+68630f7098,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-g357b56b+f45b7d88f4,20.0.0-6-g9a5b7a1+2c4171520d,20.0.0-61-g4de25fb+e4dd172200,20.0.0-7-gcda7bf1+85e953d7e4,w.2020.43
LSSTDataManagementBasePackage
Public Types | Public Member Functions | Static Public Member Functions | List of all members
lsst.pex::policy::SupportedFormats Class Reference

a list of supported Policy formats. More...

#include <SupportedFormats.h>

Public Types

typedef std::shared_ptr< SupportedFormatsPtr
 

Public Member Functions

 SupportedFormats ()
 
void registerFormat (const PolicyParserFactory::Ptr &factory)
 register a factory method for policy format parsers More...
 
const std::stringrecognizeType (const std::string &leaders) const
 analyze the given string assuming contains the leading characters from the data stream and return true if it is recognized as being in the format supported by this parser. More...
 
bool supports (const std::string &name) const
 return true if the name resolves to a registered format More...
 
PolicyParserFactory::Ptr getFactory (const std::string &name) const
 get a pointer to a factory with a given name. More...
 
int size ()
 return the number formats currently registered More...
 

Static Public Member Functions

static void initDefaultFormats (SupportedFormats &sf)
 initialize a given SupportFormats instance with the formats known by default. More...
 

Detailed Description

a list of supported Policy formats.

It can be used to determine the format type for a Policy data stream.

Definition at line 52 of file SupportedFormats.h.

Member Typedef Documentation

◆ Ptr

Definition at line 54 of file SupportedFormats.h.

Constructor & Destructor Documentation

◆ SupportedFormats()

lsst.pex::policy::SupportedFormats::SupportedFormats ( )
inline

Definition at line 58 of file SupportedFormats.h.

58 : _formats() {}

Member Function Documentation

◆ getFactory()

PolicyParserFactory::Ptr lsst.pex::policy::SupportedFormats::getFactory ( const std::string name) const

get a pointer to a factory with a given name.

A null pointer is returned if the name is not recognized.

Definition at line 74 of file SupportedFormats.cc.

74  {
75  SupportedFormats* me = const_cast<SupportedFormats*>(this);
76 
77  Lookup::iterator found = me->_formats.find(name);
78  return ((found != me->_formats.end()) ? found->second : PolicyParserFactory::Ptr());
79 }

◆ initDefaultFormats()

void lsst.pex::policy::SupportedFormats::initDefaultFormats ( SupportedFormats sf)
static

initialize a given SupportFormats instance with the formats known by default.

Definition at line 40 of file SupportedFormats.cc.

40  {
41  sf.registerFormat(PolicyParserFactory::Ptr(new PAFParserFactory()));
42 }

◆ recognizeType()

const std::string & lsst.pex::policy::SupportedFormats::recognizeType ( const std::string leaders) const

analyze the given string assuming contains the leading characters from the data stream and return true if it is recognized as being in the format supported by this parser.

analyze the given string assuming contains the leading characters from the data stream and determine if it is recognized as being in the format supported by this parser.

If it is, return the name of the this format;

If it is, return the name of the this format; if not return an empty string.

Definition at line 61 of file SupportedFormats.cc.

61  {
62  Lookup::const_iterator f;
63  for (f = _formats.begin(); f != _formats.end(); ++f) {
64  if (f->second->isRecognized(leaders)) return f->second->getFormatName();
65  }
66 
68 }

◆ registerFormat()

void lsst.pex::policy::SupportedFormats::registerFormat ( const PolicyParserFactory::Ptr factory)

register a factory method for policy format parsers

Definition at line 47 of file SupportedFormats.cc.

47  {
48  if (factory.get() == 0)
50  std::string("attempt to register null ") + "PolicyParserFactory pointer");
51 
52  _formats[factory->getFormatName()] = factory;
53 }

◆ size()

int lsst.pex::policy::SupportedFormats::size ( )
inline

return the number formats currently registered

Definition at line 93 of file SupportedFormats.h.

93 { return _formats.size(); }

◆ supports()

bool lsst.pex::policy::SupportedFormats::supports ( const std::string name) const
inline

return true if the name resolves to a registered format

Definition at line 76 of file SupportedFormats.h.

76 { return (_formats.find(name) != _formats.end()); }

The documentation for this class was generated from the following files:
std::string
STL class.
std::map::find
T find(T... args)
std::map::size
T size(T... args)
lsst.pex::policy::PolicyParserFactory::UNRECOGNIZED
static const std::string UNRECOGNIZED
an empty string representing an unrecognized format
Definition: PolicyParserFactory.h:101
lsst::afw::geom.transform.transformContinued.name
string name
Definition: transformContinued.py:32
lsst.pex::policy::PolicyParserFactory::Ptr
std::shared_ptr< PolicyParserFactory > Ptr
Definition: PolicyParserFactory.h:59
lsst.pex::policy::SupportedFormats::SupportedFormats
SupportedFormats()
Definition: SupportedFormats.h:58
LSST_EXCEPT
#define LSST_EXCEPT(type,...)
Create an exception with a given type.
Definition: Exception.h:48
std::map::begin
T begin(T... args)
std::map::end
T end(T... args)
lsst.pex::exceptions::RuntimeError
Reports errors that are due to events beyond the control of the program.
Definition: Runtime.h:104