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;
79 lsst::daf::base::Persistable
const& persistable,
Storage::List const& storageList,
80 lsst::daf::base::PropertySet::Ptr additionalData);
81 virtual lsst::daf::base::Persistable::Ptr
retrieve(
82 std::string
const& persistableType,
Storage::List const& storageList,
83 lsst::daf::base::PropertySet::Ptr additionalData);
85 std::string
const& persistableType,
Storage::List const& storageList,
86 lsst::daf::base::PropertySet::Ptr additionalData);
90 lsst::pex::policy::Policy::Ptr
getPolicy()
const;
93 explicit Persistence(lsst::pex::policy::Policy::Ptr policy);
103 lsst::pex::policy::Policy::Ptr _policy;
static Ptr getPersistence(lsst::pex::policy::Policy::Ptr policy)
Create a Persistence object.
std::shared_ptr< Storage > Ptr
virtual lsst::daf::base::Persistable * unsafeRetrieve(std::string const &persistableType, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance, returning an unsafe bare pointer.
Class for logical location of a persisted Persistable instance.
virtual Storage::Ptr getRetrieveStorage(std::string const &storageType, LogicalLocation const &location)
Create a Storage subclass configured to retrieve from a location.
virtual lsst::daf::base::Persistable::Ptr retrieve(std::string const &persistableType, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Retrieve a Persistable instance.
Interface for Storage abstract base class.
virtual ~Persistence(void)
Destructor.
virtual Storage::Ptr getPersistStorage(std::string const &storageType, LogicalLocation const &location)
Create a Storage subclass configured to persist to a location.
Class implementing object persistence.
virtual void persist(lsst::daf::base::Persistable const &persistable, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Persist a Persistable instance.
std::shared_ptr< Persistence > Ptr
lsst::pex::policy::Policy::Ptr getPolicy() const
Return the policy used to configure the Persistence object.