org.neodatis.odb.core.layers.layer3
Interface IStorageEngine
-
- All Known Subinterfaces:
- IServerStorageEngine
- All Known Implementing Classes:
- AbstractStorageEngine, AbstractStorageEngineReader, ClientStorageEngine, LocalStorageEngine, SameVmClientEngine, ServerStorageEngine, StorageEngineAdapter
public interface IStorageEngineThe interface of all that a StorageEngine (Main concept in ODB) must do.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method and Description ClassInfoListaddClasses(ClassInfoList classInfoList)voidaddCommitListener(ICommitListener commitListener)voidaddDeleteTriggerFor(java.lang.String className, DeleteTrigger trigger)voidaddIndexOn(java.lang.String className, java.lang.String name, java.lang.String[] indexFields, boolean verbose, boolean acceptMultipleValuesForSameKey)voidaddInsertTriggerFor(java.lang.String className, InsertTrigger trigger)voidaddOidTriggerFor(java.lang.String className, OIDTrigger trigger)voidaddSelectTriggerFor(java.lang.String className, SelectTrigger trigger)voidaddSession(ISession session, boolean readMetamodel)voidaddUpdateTriggerFor(java.lang.String className, UpdateTrigger trigger)ISessionbuildDefaultSession()IObjectIntrospectorbuildObjectIntrospector()IObjectReaderbuildObjectReader()IObjectWriterbuildObjectWriter()ITriggerManagerbuildTriggerManager()CheckMetaModelResultcheckMetaModelCompatibility(java.util.Map<java.lang.String,ClassInfo> currentCIs)Receive the current class info (loaded from current java classes present on classpath and check against the persisted meta modelvoidclose()voidcommit()longcount(CriteriaQuery query)CriteriaQuerycriteriaQuery(java.lang.Class clazz)CriteriaQuerycriteriaQuery(java.lang.Class clazz, ICriterion criterion)voiddefragmentTo(java.lang.String newFileName)OIDdelete(java.lang.Object object, boolean cascade)Actually deletes an object databasevoiddeleteIndex(java.lang.String className, java.lang.String indexName, boolean verbose)voiddeleteObjectWithOid(OID oid, boolean cascade)voiddisconnect(java.lang.Object object)Used to disconnect the object from the current session.java.util.List<FullIDInfo>getAllObjectIdInfos(java.lang.String objectType, boolean displayObjects)java.util.List<java.lang.Long>getAllObjectIds()IBaseIdentificationgetBaseIdentification()IOdbList<ICommitListener>getCommitListeners()OIDgetCurrentIdBlockMaxOid()intgetCurrentIdBlockNumber()longgetCurrentIdBlockPosition()TransactionIdgetCurrentTransactionId()DatabaseIdgetDatabaseId()OIDgetMaxOid()NonNativeObjectInfogetMetaObjectFromOid(OID oid)java.lang.ObjectgetObjectFromOid(OID oid)OIDgetObjectId(java.lang.Object object, boolean throwExceptionIfDoesNotExist)ObjectInfoHeadergetObjectInfoHeaderFromOid(OID oid, boolean useCache)<T> Objects<T>getObjectInfos(IQuery query, boolean inMemory, int startIndex, int endIndex, boolean returnOjects)Return Meta representation of objectsIObjectIntrospectorgetObjectIntrospector()IObjectReadergetObjectReader()<T> Objects<T>getObjects(java.lang.Class clazz, boolean inMemory, int startIndex, int endIndex)<T> Objects<T>getObjects(IQuery query, boolean inMemory, int startIndex, int endIndex)IObjectWritergetObjectWriter()IRefactorManagergetRefactorManager()Returns the object used to refactor the databaseISessiongetSession(boolean throwExceptionIfDoesNotExist)ITriggerManagergetTriggerManager()ValuesgetValues(IValuesQuery query, int startIndex, int endIndex)intgetVersion()booleanisClosed()booleanisLocal()Used to know if the storage engine is executed in local mode (embedded mode) or client server modevoidrebuildIndex(java.lang.String className, java.lang.String indexName, boolean verbose)voidreconnect(java.lang.Object object)Used to reconnect an object to the current sessionvoidresetCommitListeners()voidrollback()voidsetCurrentIdBlockInfos(long currentBlockPosition, int currentBlockNumber, OID maxId)voidsetCurrentTransactionId(TransactionId transactionId)voidsetDatabaseId(DatabaseId databaseId)voidsetLastODBCloseStatus(boolean lastCloseStatus)voidsetMetaModel(MetaModel metaModel)voidsetNbClasses(long nbClasses)voidsetVersion(int version)OIDstore(java.lang.Object object)Store an object in an database.OIDstore(OID oid, java.lang.Object object)OIDupdateObject(NonNativeObjectInfo nnoi, boolean forceUpdate)Updates an object already transformed into meta representation!OIDwriteObjectInfo(OID oid, NonNativeObjectInfo nnoi, long position, boolean updatePointers)Write an object already transformed into meta representation!
-
-
-
Method Detail
-
store
OID store(java.lang.Object object)
Store an object in an database. To detect if object must be updated or insert, we use the cache. To update an object, it must be first selected from the database. When an object is to be stored, if it exist in the cache, then it will be updated, else it will be inserted as a new object. If the object is null, the cache will be used to check if the meta representation is in the cache
-
deleteObjectWithOid
void deleteObjectWithOid(OID oid, boolean cascade)
-
delete
OID delete(java.lang.Object object, boolean cascade)
Actually deletes an object database- Parameters:
object-cascade-
-
close
void close()
-
count
long count(CriteriaQuery query)
-
getValues
Values getValues(IValuesQuery query, int startIndex, int endIndex)
-
getObjects
<T> Objects<T> getObjects(java.lang.Class clazz, boolean inMemory, int startIndex, int endIndex)
-
getObjectInfos
<T> Objects<T> getObjectInfos(IQuery query, boolean inMemory, int startIndex, int endIndex, boolean returnOjects)
Return Meta representation of objects- Parameters:
query- The query to select objectsinMemory- To indicate if object must be all loaded in memorystartIndex- First object indexendIndex- Last object indexreturnOjects- To indicate if object instances must be created- Returns:
- The list of objects @
-
getObjectReader
IObjectReader getObjectReader()
-
getObjectWriter
IObjectWriter getObjectWriter()
-
getTriggerManager
ITriggerManager getTriggerManager()
-
getSession
ISession getSession(boolean throwExceptionIfDoesNotExist)
-
buildDefaultSession
ISession buildDefaultSession()
-
commit
void commit()
-
rollback
void rollback()
-
getObjectId
OID getObjectId(java.lang.Object object, boolean throwExceptionIfDoesNotExist)
-
getObjectFromOid
java.lang.Object getObjectFromOid(OID oid)
-
getMetaObjectFromOid
NonNativeObjectInfo getMetaObjectFromOid(OID oid)
-
getObjectInfoHeaderFromOid
ObjectInfoHeader getObjectInfoHeaderFromOid(OID oid, boolean useCache)
-
defragmentTo
void defragmentTo(java.lang.String newFileName)
-
getAllObjectIds
java.util.List<java.lang.Long> getAllObjectIds()
-
getAllObjectIdInfos
java.util.List<FullIDInfo> getAllObjectIdInfos(java.lang.String objectType, boolean displayObjects)
-
getCurrentIdBlockNumber
int getCurrentIdBlockNumber()
- Returns:
- Returns the currentIdBlockNumber.
-
getCurrentIdBlockPosition
long getCurrentIdBlockPosition()
- Returns:
- Returns the currentIdBlockPosition.
-
getCurrentIdBlockMaxOid
OID getCurrentIdBlockMaxOid()
- Returns:
- Returns the currentIdBlockMaxId.
-
getMaxOid
OID getMaxOid()
-
isClosed
boolean isClosed()
-
getVersion
int getVersion()
-
addUpdateTriggerFor
void addUpdateTriggerFor(java.lang.String className, UpdateTrigger trigger)
-
addInsertTriggerFor
void addInsertTriggerFor(java.lang.String className, InsertTrigger trigger)
-
addOidTriggerFor
void addOidTriggerFor(java.lang.String className, OIDTrigger trigger)
-
addDeleteTriggerFor
void addDeleteTriggerFor(java.lang.String className, DeleteTrigger trigger)
-
addSelectTriggerFor
void addSelectTriggerFor(java.lang.String className, SelectTrigger trigger)
-
setVersion
void setVersion(int version)
-
setDatabaseId
void setDatabaseId(DatabaseId databaseId)
-
setNbClasses
void setNbClasses(long nbClasses)
-
setLastODBCloseStatus
void setLastODBCloseStatus(boolean lastCloseStatus)
-
setCurrentIdBlockInfos
void setCurrentIdBlockInfos(long currentBlockPosition, int currentBlockNumber, OID maxId)
-
setMetaModel
void setMetaModel(MetaModel metaModel)
-
getBaseIdentification
IBaseIdentification getBaseIdentification()
-
writeObjectInfo
OID writeObjectInfo(OID oid, NonNativeObjectInfo nnoi, long position, boolean updatePointers)
Write an object already transformed into meta representation!- Parameters:
oid-nnoi-position-updatePointers-- Returns:
- te object position(or id (if <0, it is id)) @
-
updateObject
OID updateObject(NonNativeObjectInfo nnoi, boolean forceUpdate)
Updates an object already transformed into meta representation!- Parameters:
nnoi- The Object Meta representationforceUpdate-- Returns:
- The OID of the update object @
-
addSession
void addSession(ISession session, boolean readMetamodel)
-
addIndexOn
void addIndexOn(java.lang.String className, java.lang.String name, java.lang.String[] indexFields, boolean verbose, boolean acceptMultipleValuesForSameKey)- Parameters:
className- The class name on which the index must be createdname- The name of the indexindexFields- The list of fields of the indexverbose- A boolean value to indicate of ODB must describe what it is doing @ @
-
addCommitListener
void addCommitListener(ICommitListener commitListener)
-
getCommitListeners
IOdbList<ICommitListener> getCommitListeners()
-
getRefactorManager
IRefactorManager getRefactorManager()
Returns the object used to refactor the database
-
resetCommitListeners
void resetCommitListeners()
-
isLocal
boolean isLocal()
Used to know if the storage engine is executed in local mode (embedded mode) or client server mode
-
addClasses
ClassInfoList addClasses(ClassInfoList classInfoList)
-
getDatabaseId
DatabaseId getDatabaseId()
-
getCurrentTransactionId
TransactionId getCurrentTransactionId()
-
setCurrentTransactionId
void setCurrentTransactionId(TransactionId transactionId)
-
reconnect
void reconnect(java.lang.Object object)
Used to reconnect an object to the current session
-
disconnect
void disconnect(java.lang.Object object)
Used to disconnect the object from the current session. The object is removed from the cache
-
rebuildIndex
void rebuildIndex(java.lang.String className, java.lang.String indexName, boolean verbose)- Parameters:
className-indexName-verbose-
-
deleteIndex
void deleteIndex(java.lang.String className, java.lang.String indexName, boolean verbose)- Parameters:
className-indexName-verbose-
-
checkMetaModelCompatibility
CheckMetaModelResult checkMetaModelCompatibility(java.util.Map<java.lang.String,ClassInfo> currentCIs)
Receive the current class info (loaded from current java classes present on classpath and check against the persisted meta model- Parameters:
currentCIs-
-
buildObjectIntrospector
IObjectIntrospector buildObjectIntrospector()
-
buildObjectWriter
IObjectWriter buildObjectWriter()
-
buildObjectReader
IObjectReader buildObjectReader()
-
buildTriggerManager
ITriggerManager buildTriggerManager()
-
getObjectIntrospector
IObjectIntrospector getObjectIntrospector()
-
criteriaQuery
CriteriaQuery criteriaQuery(java.lang.Class clazz, ICriterion criterion)
- Parameters:
clazz-criterion-- Returns:
-
criteriaQuery
CriteriaQuery criteriaQuery(java.lang.Class clazz)
- Parameters:
clazz-- Returns:
-
-
DataMelt 3.0 © DataMelt by jWork.ORG