LSSTApplications
10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
home
lsstsw
stack
Linux64
daf_persistence
11.0-1-g7418c06
include
lsst
daf
persistence
PropertySetFormatter.h
Go to the documentation of this file.
1
// -*- lsst-c++ -*-
2
3
/*
4
* LSST Data Management System
5
* Copyright 2008, 2009, 2010 LSST Corporation.
6
*
7
* This product includes software developed by the
8
* LSST Project (http://www.lsst.org/).
9
*
10
* This program is free software: you can redistribute it and/or modify
11
* it under the terms of the GNU General Public License as published by
12
* the Free Software Foundation, either version 3 of the License, or
13
* (at your option) any later version.
14
*
15
* This program is distributed in the hope that it will be useful,
16
* but WITHOUT ANY WARRANTY; without even the implied warranty of
17
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18
* GNU General Public License for more details.
19
*
20
* You should have received a copy of the LSST License Statement and
21
* the GNU General Public License along with this program. If not,
22
* see <http://www.lsstcorp.org/LegalNotices/>.
23
*/
24
25
#ifndef LSST_DAF_PERSISTENCE_PROPERTYSETFORMATTER_H
26
#define LSST_DAF_PERSISTENCE_PROPERTYSETFORMATTER_H
27
44
#include <
lsst/daf/base/PropertySet.h
>
45
#include <
lsst/daf/base/Persistable.h
>
46
#include <
lsst/daf/persistence/Formatter.h
>
47
#include <
lsst/daf/persistence/Storage.h
>
48
#include <
lsst/pex/policy.h
>
49
50
namespace
lsst {
51
namespace
daf {
52
namespace
persistence {
53
54
namespace
dafBase
= lsst::daf::base;
55
namespace
pexPolicy = lsst::pex::policy;
56
namespace
dafPersist = lsst::daf::persistence;
57
58
class
PropertySetFormatter
:
public
Formatter
{
59
public
:
60
virtual
~PropertySetFormatter
(
void
);
61
62
virtual
void
write
(
dafBase::Persistable
const
* persistable,
63
dafPersist::Storage::Ptr
storage,
64
dafBase::PropertySet::Ptr
additionalData);
65
66
virtual
dafBase::Persistable
*
read
(
dafPersist::Storage::Ptr
storage,
67
dafBase::PropertySet::Ptr
additionalData);
68
69
virtual
void
update
(
dafBase::Persistable
* persistable,
70
dafPersist::Storage::Ptr
storage,
71
dafBase::PropertySet::Ptr
additionalData);
72
73
template
<
class
Archive>
74
static
void
delegateSerialize
(Archive& ar,
unsigned
int
const
version,
75
dafBase::Persistable
* persistable);
76
77
private
:
78
PropertySetFormatter
(
pexPolicy::Policy::Ptr
policy);
79
80
pexPolicy::Policy::Ptr
_policy
;
81
82
static
Formatter::Ptr
createInstance
(
pexPolicy::Policy::Ptr
policy);
83
84
static
FormatterRegistration
registration
;
85
};
86
87
}}}
// namespace lsst::daf::persistence
88
89
#include "
PropertySetFormatter.cc
"
// for template definitions
90
91
#endif
lsst::daf::persistence::Formatter::Ptr
boost::shared_ptr< Formatter > Ptr
Definition:
Formatter.h:81
lsst::daf::persistence::PropertySetFormatter::~PropertySetFormatter
virtual ~PropertySetFormatter(void)
Definition:
PropertySetFormatter.cc:95
lsst::daf::persistence::PropertySetFormatter::PropertySetFormatter
PropertySetFormatter(pexPolicy::Policy::Ptr policy)
Definition:
PropertySetFormatter.cc:88
PropertySetFormatter.cc
Implementation of PropertySetFormatter class.
lsst::daf::base::PropertySet::Ptr
boost::shared_ptr< PropertySet > Ptr
Definition:
PropertySet.h:90
lsst::pex::policy::Policy::Ptr
boost::shared_ptr< Policy > Ptr
Definition:
Policy.h:172
lsst::daf::persistence::PropertySetFormatter::_policy
pexPolicy::Policy::Ptr _policy
Definition:
PropertySetFormatter.h:80
Storage.h
Interface for Storage abstract base class.
lsst::daf::persistence::FormatterRegistration
Construct a static instance of this helper class to register a Formatter subclass in the FormatterReg...
Definition:
Formatter.h:138
lsst::daf::persistence::PropertySetFormatter::update
virtual void update(dafBase::Persistable *persistable, dafPersist::Storage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:241
Formatter.h
Interface for Formatter abstract base class.
policy.h
lsst.utils.tests.dafBase
dafBase
Definition:
tests.py:38
lsst::daf::persistence::Formatter
Abstract base class for all formatters.
Definition:
Formatter.h:79
lsst::daf::persistence::PropertySetFormatter
Formatter for persistence of PropertySet instances.
Definition:
PropertySetFormatter.h:58
Persistable.h
Interface for Persistable base class.
lsst::daf::persistence::PropertySetFormatter::delegateSerialize
static void delegateSerialize(Archive &ar, unsigned int const version, dafBase::Persistable *persistable)
Definition:
PropertySetFormatter.cc:115
lsst::daf::persistence::Storage::Ptr
boost::shared_ptr< Storage > Ptr
Definition:
Storage.h:62
PropertySet.h
Interface for PropertySet class.
lsst::daf::persistence::PropertySetFormatter::registration
static FormatterRegistration registration
Definition:
PropertySetFormatter.h:84
lsst::daf::base::Persistable
Base class for all persistable classes.
Definition:
Persistable.h:74
lsst::daf::persistence::PropertySetFormatter::read
virtual dafBase::Persistable * read(dafPersist::Storage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:218
lsst::daf::persistence::PropertySetFormatter::write
virtual void write(dafBase::Persistable const *persistable, dafPersist::Storage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:98
lsst::daf::persistence::PropertySetFormatter::createInstance
static Formatter::Ptr createInstance(pexPolicy::Policy::Ptr policy)
Definition:
PropertySetFormatter.cc:251
Generated on Thu Sep 24 2015 02:29:19 for LSSTApplications by
1.8.5