25 #ifndef LSST_MWI_PERSISTENCE_PERSISTENCE_H 26 #define LSST_MWI_PERSISTENCE_PERSISTENCE_H 55 #include "lsst/daf/base/Citizen.h" 56 #include "lsst/daf/base/PropertySet.h" 57 #include "lsst/daf/base/Persistable.h" 58 #include "lsst/pex/policy.h" 63 namespace persistence {
66 class LogicalLocation;
70 typedef std::shared_ptr<Persistence>
Ptr;
80 lsst::daf::base::PropertySet::Ptr additionalData);
81 virtual lsst::daf::base::Persistable::Ptr
retrieve(
83 lsst::daf::base::PropertySet::Ptr additionalData);
86 lsst::daf::base::PropertySet::Ptr additionalData);
90 lsst::pex::policy::Policy::Ptr
getPolicy()
const;
93 explicit Persistence(lsst::pex::policy::Policy::Ptr policy);
102 lsst::pex::policy::Policy::Ptr _policy;
static Ptr getPersistence(lsst::pex::policy::Policy::Ptr policy)
Create a Persistence object.
Class for logical location of a persisted Persistable instance.
virtual void persist(lsst::daf::base::Persistable const &persistable, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Persist a Persistable instance.
lsst::pex::policy::Policy::Ptr getPolicy() const
Return the policy used to configure the Persistence object.
virtual ~Persistence(void)
Destructor.
Class implementing object persistence.
virtual FormatterStorage::Ptr getRetrieveStorage(std::string const &storageType, LogicalLocation const &location)
Create a FormatterStorage subclass configured to retrieve from a location.
virtual FormatterStorage::Ptr getPersistStorage(std::string const &storageType, LogicalLocation const &location)
Create a FormatterStorage subclass configured to persist to a location.
virtual lsst::daf::base::Persistable * unsafeRetrieve(std::string const &persistableType, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance, returning an unsafe bare pointer.
std::shared_ptr< Persistence > Ptr
virtual lsst::daf::base::Persistable::Ptr retrieve(std::string const &persistableType, FormatterStorage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance.