1 package org.sourceforge.jemm.database.remote.shared;
2
3 import org.sourceforge.jemm.comm.shared.SynchronousCall;
4 import org.sourceforge.jemm.database.ClassId;
5 import org.sourceforge.jemm.database.ClassInfo;
6 import org.sourceforge.jemm.database.EnumId;
7 import org.sourceforge.jemm.database.EnumInfo;
8 import org.sourceforge.jemm.database.GetObjectResp;
9 import org.sourceforge.jemm.database.ObjectSyncData;
10 import org.sourceforge.jemm.database.ObjectSyncResp;
11 import org.sourceforge.jemm.database.StructureModifiedException;
12 import org.sourceforge.jemm.lifecycle.TypeRequest;
13 import org.sourceforge.jemm.lifecycle.TypeResponse;
14 import org.sourceforge.jemm.types.ID;
15
16 public interface RDbServerIF {
17 @SynchronousCall
18 void acquireLock(String threadId, ID id);
19
20 ClassInfo getClassInfo(ClassId classId);
21
22 EnumInfo getEnumInfo(EnumId enumId);
23
24 GetObjectResp getObject(ID id);
25
26 ID getRoot(String rootName);
27
28 ID newObject(ClassId classId);
29
30 @SynchronousCall
31 void referenceCleared(ID[] ids);
32
33 ClassId registerClass(ClassInfo classInfo) throws StructureModifiedException;
34
35 EnumId registerEnum(EnumInfo enumInfo) throws StructureModifiedException;
36
37 @SynchronousCall
38 void releaseLock(String threadId, ID id);
39
40 @SynchronousCall
41 void setRoot(String rootName, ID newValue);
42
43 ID setRootIfNull(String rootName, ID newValue);
44
45 ObjectSyncResp synchroniseObject(ID id, ObjectSyncData syncData);
46
47 TypeResponse<?> processTypeRequest(ClassId classId, ID objId,
48 TypeRequest<?> request);
49 }