|
||||||||||
| 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 change
EnumId 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 | |||||||||