9 #ifndef anna_dbos_ObjectFacade_hpp 10 #define anna_dbos_ObjectFacade_hpp 74 (st_storageArea = storageArea)->setSizeof(
sizeof(T));
100 if(st_storageArea == NULL) {
101 std::string msg(loader.asString());
102 msg +=
" | ObjectFacade uninitialized ";
106 return static_cast <T*>(st_storageArea->instance(connection, loader));
129 if(st_storageArea == NULL) {
130 std::string msg(loader.asString());
131 msg +=
" | ObjectFacade uninitialized ";
135 return static_cast <T*>(st_storageArea->instance(loader));
162 if(st_storageArea == NULL) {
163 std::string msg(loader.asString());
164 msg +=
" | ObjectFacade uninitialized ";
168 return static_cast <T*>(st_storageArea->instance(connection, crossedLoader, loader));
191 if(st_storageArea == NULL) {
192 std::string msg(creator.asString());
193 msg +=
" | ObjectFacade uninitialized ";
197 return static_cast <T*>(st_storageArea->create(connection, creator));
218 if(st_storageArea == NULL) {
219 std::string msg(loader.asString());
220 msg +=
" | ObjectFacade uninitialized ";
224 return static_cast <T*>(st_storageArea->find(loader));
242 if(st_storageArea == NULL)
246 st_storageArea->release(reinterpret_cast <Object**>(&t));
257 if(st_storageArea == NULL)
260 st_storageArea->clear();
276 if(st_storageArea == NULL)
279 return static_cast <T*>(st_storageArea->duplicate(t));
292 if(st_storageArea == NULL)
295 return st_storageArea->isLoaded(loader);
307 if(st_storageArea == NULL) {
308 std::string msg(recorder.asString());
309 msg +=
" | ObjectFacade uninitialized";
313 st_storageArea->apply(connection, recorder);
327 if(st_storageArea == NULL) {
328 std::string msg(eraser.asString());
329 msg +=
" | ObjectFacade uninitialized";
333 st_storageArea->apply(connection, eraser);
349 if(st_storageArea == NULL)
352 st_storageArea->erase(reinterpret_cast <Object**>(&t));
393 #define dbos_prepare_object(T) \ 394 template <> anna::dbos::StorageArea* anna::dbos::ObjectFacade< T >::st_storageArea = NULL 402 #define dbos_declare_object(T) \ 403 friend class anna::dbos::ObjectFacade <T> static void erase(T *&t) noexcept(false)
Definition: ObjectFacade.hpp:347
#define anna_ptrnumber_cast(pointer)
Definition: defines.hpp:118
Definition: Connection.hpp:38
static void clear() noexcept(false)
Definition: ObjectFacade.hpp:255
static void apply(dbms::Connection &connection, Recorder &recorder) noexcept(false)
Definition: ObjectFacade.hpp:305
static bool isLoaded(const Loader &loader) noexcept(false)
Definition: ObjectFacade.hpp:290
static T * instance(Loader &loader) noexcept(false)
Definition: ObjectFacade.hpp:127
Definition: Object.hpp:35
static Object * allocator()
Definition: ObjectFacade.hpp:373
static StorageId getStorageAreaId()
Definition: ObjectFacade.hpp:57
static void apply(dbms::Connection &connection, Eraser &eraser) noexcept(false)
Definition: ObjectFacade.hpp:325
ObjectFacade()
Definition: ObjectFacade.hpp:381
static T * instance(dbms::Connection &connection, CrossedLoader &crossedLoader, Loader &loader) noexcept(false)
Definition: ObjectFacade.hpp:160
Definition: Creator.hpp:22
Definition: Recorder.hpp:22
Definition: CrossedLoader.hpp:42
static T * create(dbms::Connection &connection, Creator &creator) noexcept(false)
Definition: ObjectFacade.hpp:189
static StorageArea * getStorageArea()
Definition: ObjectFacade.hpp:63
static T * duplicate(const T *t) noexcept(false)
Definition: ObjectFacade.hpp:274
Definition: Loader.hpp:28
Definition: ObjectFacade.hpp:49
static void release(T *&t)
Definition: ObjectFacade.hpp:240
static const T * data(StorageArea::const_iterator &ii)
Definition: ObjectFacade.hpp:365
static T * data(StorageArea::iterator &ii)
Definition: ObjectFacade.hpp:359
std::map< Index, Instance * >::iterator iterator
Definition: StorageArea.hpp:136
ptrnumber StorageId
Definition: defines.hpp:19
std::map< Index, Instance * >::const_iterator const_iterator
Definition: StorageArea.hpp:137
Definition: Eraser.hpp:24
#define ANNA_FILE_LOCATION
Definition: defines.hpp:23
static T * instance(dbms::Connection &connection, Loader &loader) noexcept(false)
Definition: ObjectFacade.hpp:98
Definition: StorageArea.hpp:58
static T * find(Loader &loader) noexcept(false)
Definition: ObjectFacade.hpp:216
Definition: RuntimeException.hpp:23
static void setStorageArea(StorageArea *storageArea)
Definition: ObjectFacade.hpp:73
static StorageArea * st_storageArea
Definition: ObjectFacade.hpp:376