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
Persistence.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_MWI_PERSISTENCE_PERSISTENCE_H
26
#define LSST_MWI_PERSISTENCE_PERSISTENCE_H
27
50
#include <boost/shared_ptr.hpp>
51
#include <map>
52
#include <string>
53
#include <vector>
54
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
"
59
#include "
lsst/daf/persistence/Storage.h
"
60
61
namespace
lsst {
62
namespace
daf {
63
namespace
persistence {
64
65
// Forward declaration
66
class
LogicalLocation;
67
68
class
Persistence
:
public
lsst::daf::base::Citizen
{
69
public
:
70
typedef
boost::shared_ptr<Persistence>
Ptr
;
71
72
virtual
~Persistence
(
void
);
73
74
virtual
Storage::Ptr
getPersistStorage
(std::string
const
& storageType,
75
LogicalLocation
const
& location);
76
virtual
Storage::Ptr
getRetrieveStorage
(std::string
const
& storageType,
77
LogicalLocation
const
& location);
78
virtual
void
persist
(
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);
84
virtual
lsst::daf::base::Persistable
*
unsafeRetrieve
(
85
std::string
const
& persistableType,
Storage::List
const
& storageList,
86
lsst::daf::base::PropertySet::Ptr
additionalData);
87
88
static
Ptr
getPersistence
(
lsst::pex::policy::Policy::Ptr
policy);
89
90
lsst::pex::policy::Policy::Ptr
getPolicy
()
const
;
91
92
private
:
93
explicit
Persistence
(
lsst::pex::policy::Policy::Ptr
policy);
94
95
// Do not copy or assign Persistence objects
96
Persistence
(
Persistence
const
&);
97
Persistence
&
operator=
(
Persistence
const
&);
98
99
Storage::Ptr
_getStorage
(std::string
const
& storageType,
100
LogicalLocation
const
& location,
101
bool
persist
);
102
103
lsst::pex::policy::Policy::Ptr
_policy
;
105
};
106
107
}}}
// namespace lsst::daf::persistence
108
109
#endif
lsst::daf::persistence::Persistence::Persistence
Persistence(lsst::pex::policy::Policy::Ptr policy)
Definition:
Persistence.cc:60
lsst::daf::persistence::Storage::List
std::vector< Ptr > List
Definition:
Storage.h:63
lsst::daf::persistence::Persistence::getPersistence
static Ptr getPersistence(lsst::pex::policy::Policy::Ptr policy)
Definition:
Persistence.cc:196
lsst::daf::persistence::Persistence::unsafeRetrieve
virtual lsst::daf::base::Persistable * unsafeRetrieve(std::string const &persistableType, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Definition:
Persistence.cc:147
lsst::daf::persistence::LogicalLocation
Class for logical location of a persisted Persistable instance.
Definition:
LogicalLocation.h:60
lsst::daf::persistence::Persistence::getRetrieveStorage
virtual Storage::Ptr getRetrieveStorage(std::string const &storageType, LogicalLocation const &location)
Definition:
Persistence.cc:101
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::Persistence::_getStorage
Storage::Ptr _getStorage(std::string const &storageType, LogicalLocation const &location, bool persist)
Definition:
Persistence.cc:76
lsst::daf::persistence::Persistence::retrieve
virtual lsst::daf::base::Persistable::Ptr retrieve(std::string const &persistableType, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Definition:
Persistence.cc:185
Storage.h
Interface for Storage abstract base class.
lsst::daf::persistence::Persistence::~Persistence
virtual ~Persistence(void)
Definition:
Persistence.cc:66
lsst::daf::persistence::Persistence::_policy
lsst::pex::policy::Policy::Ptr _policy
Pointer to Policy used to configure Persistence.
Definition:
Persistence.h:103
lsst::daf::persistence::Persistence::getPersistStorage
virtual Storage::Ptr getPersistStorage(std::string const &storageType, LogicalLocation const &location)
Definition:
Persistence.cc:91
lsst::daf::persistence::Persistence
Class implementing object persistence.
Definition:
Persistence.h:68
lsst::daf::base::Persistable::Ptr
boost::shared_ptr< Persistable > Ptr
Definition:
Persistable.h:76
policy.h
Citizen.h
lsst::daf::persistence::Persistence::Ptr
boost::shared_ptr< Persistence > Ptr
Definition:
Persistence.h:70
Persistable.h
Interface for Persistable base class.
lsst::daf::persistence::Persistence::persist
virtual void persist(lsst::daf::base::Persistable const &persistable, Storage::List const &storageList, lsst::daf::base::PropertySet::Ptr additionalData)
Definition:
Persistence.cc:112
lsst::daf::persistence::Persistence::operator=
Persistence & operator=(Persistence const &)
lsst::daf::persistence::Storage::Ptr
boost::shared_ptr< Storage > Ptr
Definition:
Storage.h:62
PropertySet.h
Interface for PropertySet class.
lsst::daf::base::Persistable
Base class for all persistable classes.
Definition:
Persistable.h:74
lsst::daf::base::Citizen
Citizen is a class that should be among all LSST classes base classes, and handles basic memory manag...
Definition:
Citizen.h:56
lsst::daf::persistence::Persistence::getPolicy
lsst::pex::policy::Policy::Ptr getPolicy() const
Definition:
Persistence.cc:205
Generated on Thu Sep 24 2015 02:29:19 for LSSTApplications by
1.8.5