|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface Database
Database is the abstract interface defining the storage subsystem. The subsystem is fully responsible for all persistence and garbage collection.
Method Summary | |
---|---|
void |
acquireLock(ClientThreadId threadId,
ID jemmId)
Asynchronous request to acquire a lock. |
void |
clientDisconnect(ClientId clientId)
Notification that the given client has disconnected, this call is only used on multi-client servers, allowing the server to free up resources associated with the client. |
ClassInfo |
getClassInfo(ClientId clientId,
ClassId classId)
Returns the class information for the given class id. |
DatabaseDebugIF |
getDebugInterface()
Returns a debug interface for this database, or null if not available. |
EnumInfo |
getEnumInfo(ClientId clientId,
EnumId enumId)
Returns the information about the given enumeration. |
GetObjectResp |
getObject(ClientId clientId,
ID jemmId)
Retrieves an object's information from the database. |
ID |
getRoot(ClientId clientId,
java.lang.String rootName)
Returns the object stored in the persistent root called 'rootName' |
ID |
newObject(ClientId clientId,
ClassId classId)
Notification of a new user object creation by the client. |
TypeResponse<?> |
processTypeRequest(ClientId clientId,
ClassId classId,
ID objId,
TypeRequest<?> request)
Process a request from a jemm type implementation. |
void |
referenceCleared(ClientId clientId,
ID... id)
Asynchronous notification that the client has de-referenced the given id. |
ClassId |
registerClass(ClientId clientId,
ClassInfo classInfo)
Register a user class. |
EnumId |
registerEnum(ClientId clientId,
EnumInfo enumInfo)
Register an enumerated type. |
void |
releaseLock(ClientThreadId threadId,
ID jemmId)
Release the given lock held by the thread. |
void |
removeLockAcquiredListener(ClientId clientId)
Remove a lock listener |
void |
setClientLockAcquiredListener(ClientId clientId,
LockAcquiredListener listener)
Register a lock listener |
void |
setRoot(ClientId clientId,
java.lang.String rootName,
ID newValue)
Set the persistent root reference to the given object. |
ID |
setRootIfNull(ClientId clientId,
java.lang.String rootName,
ID newValue)
Sets the persistent root reference to the given object, if the root is currently null. |
ObjectSyncResp |
synchroniseObject(ClientId clientId,
ID jemmId,
ObjectSyncData syncData)
Synchronise a client held object with the server. |
Method Detail |
---|
ClassId registerClass(ClientId clientId, ClassInfo classInfo) throws StructureModifiedException
clientId
- The registering client.classInfo
- The information about the loaded user class (name/fields).
StructureModifiedException
- if the class has been modified
and the Database does not accept the changeEnumId registerEnum(ClientId clientId, EnumInfo enumInfo) throws StructureModifiedException
clientId
- The identity of the registering client.enumInfo
- The EnumInfo describing the enumerated type.
StructureModifiedException
- If a modification to the enum is detected.void acquireLock(ClientThreadId threadId, ID jemmId)
threadId
- The requesting thread.jemmId
- The id of the object to lock.void setClientLockAcquiredListener(ClientId clientId, LockAcquiredListener listener)
clientId
- The id of the client registering for lock notifications.listener
- The listener to register.void removeLockAcquiredListener(ClientId clientId)
clientId
- The lock listener to remove.void releaseLock(ClientThreadId threadId, ID jemmId)
threadId
- The thread currently holding the lock.jemmId
- The id of the object to release.GetObjectResp getObject(ClientId clientId, ID jemmId)
clientId
- The id of the requesting client.jemmId
- The id of the object to retrieve.
ID getRoot(ClientId clientId, java.lang.String rootName)
clientId
- The id of the requesting client.rootName
- The name of the persistent root.
void setRoot(ClientId clientId, java.lang.String rootName, ID newValue)
clientId
- The id of the requesting client.rootName
- The name of the persistent root.newValue
- The new value of the root.ID setRootIfNull(ClientId clientId, java.lang.String rootName, ID newValue)
clientId
- The id of the requesting client.rootName
- The name of the persistent root.newValue
- The new value of the root.
ID newObject(ClientId clientId, ClassId classId)
clientId
- The id of the requesting client.classId
- The class id of the new object (must be previously registered).
ObjectSyncResp synchroniseObject(ClientId clientId, ID jemmId, ObjectSyncData syncData)
clientId
- The id of the requesting client.jemmId
- The id of the object.syncData
- The object synchronisation data (client version, updated fields)
void referenceCleared(ClientId clientId, ID... id)
clientId
- The client who is no longer referencing 'id'id
- The ID that has been de-referenced.ClassInfo getClassInfo(ClientId clientId, ClassId classId)
clientId
- The id of the requesting client.classId
- The id of the held class.
EnumInfo getEnumInfo(ClientId clientId, EnumId enumId)
clientId
- The id of the requesting client.enumId
- The id of the enumerated type.
JEMMInternalException
- If the enum type is not found.DatabaseDebugIF getDebugInterface()
void clientDisconnect(ClientId clientId)
clientId
- The id of the client that has disconnected.TypeResponse<?> processTypeRequest(ClientId clientId, ClassId classId, ID objId, TypeRequest<?> request)
clientId
- The id of the requesting client.classId
- The id of the class making the request.objId
- The target object.request
- The request data.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |