org.neodatis.odb.impl.core.server.layers.layer3.engine
Class ServerStorageEngine

java.lang.Object
  extended by org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngineReader
      extended by org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngine
          extended by org.neodatis.odb.impl.core.server.layers.layer3.engine.ServerStorageEngine
All Implemented Interfaces:
IStorageEngine, IServerStorageEngine

public class ServerStorageEngine
extends AbstractStorageEngine
implements IServerStorageEngine


Field Summary
 
Fields inherited from class org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngine
classIntrospector, commitListeners, currentTransactionId, introspectionCallbackForInsert, introspectionCallbackForUpdate, isLocal, objectIntrospector, triggerManager
 
Fields inherited from class org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngineReader
baseIdentification, isClosed, objectReader, provider
 
Constructor Summary
ServerStorageEngine(IBaseIdentification parameters)
           
 
Method Summary
 ClassInfo addClass(ClassInfo newClassInfo, boolean addDependentClasses)
           
 ClassInfoList addClasses(ClassInfoList classInfoList)
           
 void addSession(ISession session, boolean readMetamodel)
           
 ISession buildDefaultSession()
           
protected  IFileSystemInterface buildFSI()
           
 IObjectIntrospector buildObjectIntrospector()
           
 IObjectReader buildObjectReader()
           
 IObjectWriter buildObjectWriter()
           
 ITriggerManager buildTriggerManager()
           
 void commit()
           
 void deleteObjectWithOid(OID oid)
          It is overiden to manage triggers
protected  MetaModel getMetaModel()
           
<T> Objects<T>
getObjectInfos(IQuery query, boolean inMemory, int startIndex, int endIndex, boolean returnOjects)
          TODO Use a mutex to guarantee unique access to the file at this moment.
 ISession getSession(boolean throwExceptionIfDoesNotExist)
           
 boolean isLocal()
          Used to know if the storage engine is executed in local mode (embedded mode) or client server mode
 OID writeObjectInfo(OID oid, NonNativeObjectInfo nnoi, long position, boolean updatePointers)
          Write an object meta-representation.
 
Methods inherited from class org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngine
addCommitListener, addDeleteTriggerFor, addInsertTriggerFor, addOidTriggerFor, addSelectTriggerFor, addUpdateTriggerFor, checkMetaModelCompatibility, checkRuntimeCompatibility, close, count, criteriaQuery, criteriaQuery, delete, deleteObjectWithOid, disconnect, getAllObjectIdInfos, getAllObjectIds, getBaseIdentification, getCommitListeners, getCurrentIdBlockMaxOid, getCurrentIdBlockNumber, getCurrentIdBlockPosition, getCurrentTransactionId, getDatabaseId, getMaxOid, getMetaObjectFromOid, getObjectFromOid, getObjectId, getObjectInfoHeaderFromOid, getObjectIntrospector, getObjectReader, getObjectWriter, getRefactorManager, getTriggerManager, getValues, getVersion, init, internalDelete, internalStore, internalStore, isClosed, reconnect, resetCommitListeners, rollback, setCurrentIdBlockInfos, setCurrentTransactionId, setDatabaseId, setLastODBCloseStatus, setMetaModel, setNbClasses, setVersion, store, store, toString, update, updateMetaModel, updateObject
 
Methods inherited from class org.neodatis.odb.core.layers.layer3.engine.AbstractStorageEngineReader
addIndexOn, config, defragmentTo, deleteIndex, getObjects, getObjects, rebuildIndex
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface org.neodatis.odb.core.layers.layer3.IStorageEngine
addCommitListener, addDeleteTriggerFor, addIndexOn, addInsertTriggerFor, addOidTriggerFor, addSelectTriggerFor, addUpdateTriggerFor, checkMetaModelCompatibility, close, count, criteriaQuery, criteriaQuery, defragmentTo, delete, deleteIndex, deleteObjectWithOid, disconnect, getAllObjectIdInfos, getAllObjectIds, getBaseIdentification, getCommitListeners, getCurrentIdBlockMaxOid, getCurrentIdBlockNumber, getCurrentIdBlockPosition, getCurrentTransactionId, getDatabaseId, getMaxOid, getMetaObjectFromOid, getObjectFromOid, getObjectId, getObjectInfoHeaderFromOid, getObjectIntrospector, getObjectReader, getObjects, getObjects, getObjectWriter, getRefactorManager, getTriggerManager, getValues, getVersion, isClosed, rebuildIndex, reconnect, resetCommitListeners, rollback, setCurrentIdBlockInfos, setCurrentTransactionId, setDatabaseId, setLastODBCloseStatus, setMetaModel, setNbClasses, setVersion, store, store, updateObject
 

Constructor Detail

ServerStorageEngine

public ServerStorageEngine(IBaseIdentification parameters)
Method Detail

buildObjectWriter

public IObjectWriter buildObjectWriter()
Specified by:
buildObjectWriter in interface IStorageEngine

buildObjectReader

public IObjectReader buildObjectReader()
Specified by:
buildObjectReader in interface IStorageEngine

buildObjectIntrospector

public IObjectIntrospector buildObjectIntrospector()
Specified by:
buildObjectIntrospector in interface IStorageEngine

buildTriggerManager

public ITriggerManager buildTriggerManager()
Specified by:
buildTriggerManager in interface IStorageEngine

buildFSI

protected IFileSystemInterface buildFSI()
                                 throws java.io.IOException
Throws:
java.io.IOException

getSession

public ISession getSession(boolean throwExceptionIfDoesNotExist)
Specified by:
getSession in interface IStorageEngine
Specified by:
getSession in class AbstractStorageEngineReader

buildDefaultSession

public ISession buildDefaultSession()
Specified by:
buildDefaultSession in interface IStorageEngine

addSession

public void addSession(ISession session,
                       boolean readMetamodel)
Specified by:
addSession in interface IStorageEngine
Overrides:
addSession in class AbstractStorageEngine

getMetaModel

protected MetaModel getMetaModel()
Overrides:
getMetaModel in class AbstractStorageEngineReader

commit

public void commit()
Specified by:
commit in interface IStorageEngine
Overrides:
commit in class AbstractStorageEngine

writeObjectInfo

public OID writeObjectInfo(OID oid,
                           NonNativeObjectInfo nnoi,
                           long position,
                           boolean updatePointers)
Write an object meta-representation. TODO Use a mutex to guarantee unique access to the file at this moment. This should be change

Specified by:
writeObjectInfo in interface IStorageEngine
Overrides:
writeObjectInfo in class AbstractStorageEngine
Parameters:
oid -
aoi -
position -
updatePointers -
Returns:
The object position or id if negative
Throws:
java.lang.Exception

deleteObjectWithOid

public void deleteObjectWithOid(OID oid)
It is overiden to manage triggers


getObjectInfos

public <T> Objects<T> getObjectInfos(IQuery query,
                                     boolean inMemory,
                                     int startIndex,
                                     int endIndex,
                                     boolean returnOjects)
TODO Use a mutex to guarantee unique access to the file at this moment. This should be change

Specified by:
getObjectInfos in interface IStorageEngine
Overrides:
getObjectInfos in class AbstractStorageEngineReader
Parameters:
query -
inMemory -
startIndex -
endIndex -
returnOjects -
Returns:
The object info list
Throws:
java.lang.Exception

addClass

public ClassInfo addClass(ClassInfo newClassInfo,
                          boolean addDependentClasses)
                   throws java.io.IOException
Throws:
java.io.IOException

isLocal

public boolean isLocal()
Description copied from interface: IStorageEngine
Used to know if the storage engine is executed in local mode (embedded mode) or client server mode

Specified by:
isLocal in interface IStorageEngine
Overrides:
isLocal in class AbstractStorageEngine

addClasses

public ClassInfoList addClasses(ClassInfoList classInfoList)
Specified by:
addClasses in interface IStorageEngine