lsst.daf.persistence
14.0-14-g87d16e8+3
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/FormatterStorage.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::FormatterStorage::Ptr
storage,
64
dafBase::PropertySet::Ptr
additionalData);
65
66
virtual
dafBase::Persistable
*
read
(
dafPersist::FormatterStorage::Ptr
storage,
67
dafBase::PropertySet::Ptr
additionalData);
68
69
virtual
void
update
(
dafBase::Persistable
* persistable,
70
dafPersist::FormatterStorage::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::pex::policy::Policy::Ptr
std::shared_ptr< Policy > Ptr
lsst::daf::persistence::PropertySetFormatter::update
virtual void update(dafBase::Persistable *persistable, dafPersist::FormatterStorage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:239
std::shared_ptr
lsst::daf::base::PropertySet::Ptr
std::shared_ptr< PropertySet > Ptr
lsst::pex::policy
lsst::daf::persistence::PropertySetFormatter::~PropertySetFormatter
virtual ~PropertySetFormatter(void)
Minimal destructor.
Definition:
PropertySetFormatter.cc:93
lsst::daf::persistence
FormatterStorage.h
Interface for FormatterStorage abstract base class.
PropertySetFormatter.cc
Implementation of PropertySetFormatter class.
lsst::daf::persistence::PropertySetFormatter::read
virtual dafBase::Persistable * read(dafPersist::FormatterStorage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:216
lsst::daf::persistence::FormatterRegistration
Construct a static instance of this helper class to register a Formatter subclass in the FormatterReg...
Definition:
Formatter.h:138
Formatter.h
Interface for Formatter abstract base class.
lsst
lsst::daf::persistence::PropertySetFormatter::write
virtual void write(dafBase::Persistable const *persistable, dafPersist::FormatterStorage::Ptr storage, dafBase::PropertySet::Ptr additionalData)
Definition:
PropertySetFormatter.cc:96
Persistable.h
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
lsst::daf::base
lsst::daf::persistence::PropertySetFormatter::delegateSerialize
static void delegateSerialize(Archive &ar, unsigned int const version, dafBase::Persistable *persistable)
Serialize a PropertySet to a Boost archive.
Definition:
PropertySetFormatter.cc:114
policy.h
PropertySet.h
lsst::daf::base::Persistable
lsst::daf::persistence::FormatterStorage::Ptr
std::shared_ptr< FormatterStorage > Ptr
Definition:
FormatterStorage.h:62
Generated on Fri Dec 8 2017 09:45:40 for lsst.daf.persistence by
1.8.13