1 /**
2 *
3 */
4 package org.sourceforge.jemm.database;
5
6 import org.sourceforge.jemm.types.ID;
7
8 /**
9 * A debugging/testing interface that Database implementations may expose.
10 *
11 * @author Rory Graves
12 */
13 public interface DatabaseDebugIF {
14 /**
15 * Returns whether within parent database the given client has a reference to the given object.
16 * @param clientId The id of the client.
17 * @param id The id of the object.
18 * @return True if the given client holds a reference to object 'id'.
19 */
20 boolean isClientReferenceHeld(ClientId clientId, ID id);
21
22 void triggerGCCycle();
23
24 /**
25 * @return The number of objects stored in the database.
26 */
27 int getObjectCount();
28
29 int noLocksHeld();
30 }