1
2
3
4 package org.sourceforge.jemm.database.components;
5
6 import org.sourceforge.jemm.database.ClientId;
7 import org.sourceforge.jemm.database.DatabaseDebugIF;
8 import org.sourceforge.jemm.database.components.interfaces.DBClientRefHandler;
9 import org.sourceforge.jemm.database.components.interfaces.DBGarbageSweeper;
10 import org.sourceforge.jemm.database.components.interfaces.DBObjectHandler;
11 import org.sourceforge.jemm.types.ID;
12
13
14
15
16
17 public class DefaultDBDebugHandler implements DatabaseDebugIF {
18 private final DBObjectHandler objectHandler;
19 private final DBClientRefHandler clientRefHandler;
20 private final DBGarbageSweeper gcHandler;
21
22
23
24
25
26
27
28
29 public DefaultDBDebugHandler(DBObjectHandler objectHandler,
30 DBClientRefHandler clientRefHandler, DBGarbageSweeper gcHandler) {
31 this.objectHandler = objectHandler;
32 this.clientRefHandler = clientRefHandler;
33 this.gcHandler = gcHandler;
34 }
35
36 @Override
37 public boolean isClientReferenceHeld(ClientId clientId, ID id) {
38 return clientRefHandler.hasReference(clientId, id);
39 }
40
41 @Override public void triggerGCCycle() {
42 gcHandler.runGCCycle();
43 }
44
45 @Override public int getObjectCount() {
46 return objectHandler.getObjectCount();
47 }
48
49 @Override public int noLocksHeld() {
50 return objectHandler.getNoLocksHeld();
51 }
52 }