28#include <MemoryX/interface/components/CommonStorageInterface.h>
29#include <MemoryX/interface/core/MemoryInterface.h>
106 public virtual PersistentEntitySegmentBase,
118 const ::Ice::Current& = Ice::emptyCurrent)
override;
121 const ::Ice::Current& = Ice::emptyCurrent)
override;
123 const ::Ice::Current& = Ice::emptyCurrent)
override;
125 std::string
getObjectTypeId(const ::Ice::Current& = Ice::emptyCurrent)
const override;
132 std::string
addEntity(
const EntityBasePtr& entity,
133 const ::Ice::Current&
c = Ice::emptyCurrent)
override;
136 const EntityBasePtr& entity,
137 const ::Ice::Current& = Ice::emptyCurrent)
override;
139 const EntityBasePtr& entity);
141 const EntityBasePtr& entity,
142 const ::Ice::Current& = Ice::emptyCurrent)
override;
144 const EntityBasePtr& entity);
150 const Ice::Current& = Ice::emptyCurrent)
override;
154 const Ice::Current& = Ice::emptyCurrent)
override;
158 const EntityBasePtr& update,
159 const ::Ice::Current& = Ice::emptyCurrent)
override;
161 const EntityBasePtr& update);
168 const ::Ice::Current& = Ice::emptyCurrent)
override;
177 const Ice::Current& = Ice::emptyCurrent)
const override;
180 const Ice::Current& = Ice::emptyCurrent)
const override;
184 const ::Ice::Current& = Ice::emptyCurrent)
const override;
187 const ::Ice::Current& = Ice::emptyCurrent)
const override;
191 const ::std::string& attrValue,
192 const ::Ice::Current& = Ice::emptyCurrent)
const override;
195 const NameList& attrValueList,
196 const ::Ice::Current& = Ice::emptyCurrent)
const override;
197 EntityIdList
getAllEntityIds(const ::Ice::Current& = Ice::emptyCurrent)
const override;
203 EntityBaseList
getAllEntities(const ::Ice::Current& = Ice::emptyCurrent)
const override;
204 IdEntityMap
getIdEntityMap(const ::Ice::Current& = Ice::emptyCurrent)
const override;
210 Ice::Int
size(const ::Ice::Current& = Ice::emptyCurrent)
const override;
211 void print(const ::Ice::Current& = Ice::emptyCurrent)
const override;
215 void clear(const ::Ice::Current& = Ice::emptyCurrent)
override;
217 ::Ice::Identity
getIceId(const ::Ice::Current& = Ice::emptyCurrent)
const override;
218 std::string
getSegmentName(const ::Ice::Current& = Ice::emptyCurrent)
const override;
223 const Ice::Current&)
const override;
225 const Ice::Current&
c)
const override;
228 const EntityAttributeBasePtr& attribute,
229 const Ice::Current&)
override;
231 const EntityAttributeList& attributeMap,
232 const Ice::Current&)
override;
236 void setParentMemory(
const MemoryInterfacePtr& memory,
const Ice::Current&)
override;
247 EntityRefList
findRefsByQuery(
const std::string& query,
const Ice::Current&
c)
override;
252 const ::Ice::Current& = Ice::emptyCurrent)
override;
void setSegmentName(const std::string &segmentName, const ::Ice::Current &=Ice::emptyCurrent) override
void setParentMemory(const MemoryInterfacePtr &memory, const Ice::Current &) override
PersistentEntitySegment(CollectionInterfacePrx entityCollection, Ice::CommunicatorPtr ic, bool useMongoIds=true)
virtual EntityBasePtr getEntityByIdThreadUnsafe(const ::std::string &entityId) const
EntityRefList findRefsByQuery(const std::string &query, const Ice::Current &c) override
retrieves Entity Refs that match the query.
virtual EntityIdList getAllEntityIdsThreadUnsafe() const
void clear(const ::Ice::Current &=Ice::emptyCurrent) override
clear removes all elements from the current memoryx::PersistentEntitySegment::writeCollection
~PersistentEntitySegment() override
MemoryInterfacePtr parentMemory
void addReadCollection(const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
virtual std::string upsertEntityByNameThreadUnsafe(const std::string &entityName, const EntityBasePtr &entity)
std::string addEntity(const EntityBasePtr &entity, const ::Ice::Current &c=Ice::emptyCurrent) override
addEntity add new entity and return the newly generated entity ID
virtual std::string addEntityThreadUnsafe(const EntityBasePtr &entity)
CollectionPrxList readCollections
virtual std::string upsertEntityThreadUnsafe(const std::string &entityId, const EntityBasePtr &entity)
bool hasEntityById(const std::string &entityId, const Ice::Current &=Ice::emptyCurrent) const override
void print(const ::Ice::Current &=Ice::emptyCurrent) const override
virtual EntityIdList upsertEntityListThreadUnsafe(const EntityBaseList &entityList)
std::string getSegmentName(const ::Ice::Current &=Ice::emptyCurrent) const override
MongoSerializerPtr dbSerializer
EntityBasePtr getEntityById(const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) const override
void setEntityAttribute(const std::string &entityId, const EntityAttributeBasePtr &attribute, const Ice::Current &) override
std::string getObjectTypeId(const ::Ice::Current &=Ice::emptyCurrent) const override
std::string upsertEntityByName(const std::string &entityName, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
NameList getReadCollectionsNS(const ::Ice::Current &=Ice::emptyCurrent) const override
EntityIdList upsertEntityList(const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
bool hasEntityByIdThreadUnsafe(const std::string &entityId) const
void removeAllEntities(const ::Ice::Current &c=Ice::emptyCurrent) override
removeAllEntities collects all entities managed by this memory segment and removes them from the segm...
void setSingleRWCollection(const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
EntityIdList getAllEntityIds(const ::Ice::Current &=Ice::emptyCurrent) const override
void clearReadCollections(const ::Ice::Current &=Ice::emptyCurrent) override
virtual EntityBasePtr getEntityByNameThreadUnsafe(const ::std::string &name) const
std::string upsertEntity(const std::string &entityId, const EntityBasePtr &entity, const ::Ice::Current &=Ice::emptyCurrent) override
virtual EntityIdList addEntityListThreadUnsafe(const EntityBaseList &entityList)
virtual void updateEntityThreadUnsafe(const ::std::string &entityId, const EntityBasePtr &update)
virtual void removeEntityThreadUnsafe(const ::std::string &entityId)
bool hasEntityByName(const std::string &entityName, const Ice::Current &=Ice::emptyCurrent) const override
EntityBaseList getEntitiesByAttrValue(const ::std::string &attrName, const ::std::string &attrValue, const ::Ice::Current &=Ice::emptyCurrent) const override
::Ice::Identity getIceId(const ::Ice::Current &=Ice::emptyCurrent) const override
std::string getWriteCollectionNS(const ::Ice::Current &=Ice::emptyCurrent) const override
EntityBasePtr deserializeEntity(const DBStorableData &dbEntity) const
EntityBaseList getAllEntities(const ::Ice::Current &=Ice::emptyCurrent) const override
getAllEntities returns a list of all entities managed by this memory segment
bool hasEntityByNameThreadUnsafe(const std::string &entityName) const
void removeEntity(const ::std::string &entityId, const ::Ice::Current &=Ice::emptyCurrent) override
removeEntity removes an entity with the ID entityId
void setWriteCollection(const CollectionInterfacePrx &coll, const ::Ice::Current &=Ice::emptyCurrent) override
EntityIdList addEntityList(const EntityBaseList &entityList, const Ice::Current &=Ice::emptyCurrent) override
addEntityList adds all entities contained in \entityList to this segment and returns a list of create...
EntityRefBasePtr getEntityRefByName(const std::string &name, const Ice::Current &c) const override
void setEntityAttributes(const std::string &entityId, const EntityAttributeList &attributeMap, const Ice::Current &) override
EntityBaseList getEntitiesByAttrValueList(const ::std::string &attrName, const NameList &attrValueList, const ::Ice::Current &=Ice::emptyCurrent) const override
IdEntityMap getIdEntityMap(const ::Ice::Current &=Ice::emptyCurrent) const override
std::recursive_mutex dbSerializerMutex
Ice::Int size(const ::Ice::Current &=Ice::emptyCurrent) const override
size counts the number of memoryx::Entity instances contained available reachable throuhg memoryx::Pe...
EntityRefBasePtr getEntityRefById(const std::string &id, const Ice::Current &) const override
CollectionInterfacePrx writeCollection
void updateEntity(const ::std::string &entityId, const EntityBasePtr &update, const ::Ice::Current &=Ice::emptyCurrent) override
EntityBasePtr getEntityByName(const ::std::string &name, const ::Ice::Current &=Ice::emptyCurrent) const override
SegmentUtilImplementations()
::IceInternal::Handle<::Ice::Communicator > CommunicatorPtr
IceUtil::Handle< PersistentEntitySegment > PersistentEntitySegmentPtr
IceUtil::Handle< MongoSerializer > MongoSerializerPtr