25 #ifndef LSST_MWI_PERSISTENCE_FORMATTER_H
26 #define LSST_MWI_PERSISTENCE_FORMATTER_H
60 #include "lsst/daf/base/Citizen.h"
61 #include "lsst/daf/base/PropertySet.h"
63 #include "lsst/pex/policy.h"
73 namespace persistence {
76 class LogicalLocation;
81 typedef std::shared_ptr<Formatter>
Ptr;
97 lsst::daf::base::Persistable
const* persistable,
Storage::Ptr storage,
98 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
106 virtual lsst::daf::base::Persistable*
read(
108 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
118 lsst::daf::base::Persistable* persistable,
Storage::Ptr storage,
119 lsst::daf::base::PropertySet::Ptr additionalData) = 0;
122 std::string
const& persistableType,
123 lsst::pex::policy::Policy::Ptr policy);
125 std::type_info
const& persistableType,
126 lsst::pex::policy::Policy::Ptr policy);
129 explicit Formatter(std::type_info
const& type);
141 std::type_info
const& persistableType,
std::shared_ptr< Storage > Ptr
Interface for Storage abstract base class.