1 package org.sourceforge.jemm.lifecycle;
2
3 import org.sourceforge.jemm.types.ID;
4 import org.sourceforge.jemm.util.JEMMObject;
5
6 /**
7 * This is the internal generic high level interface between user level objects and the
8 * store. This methods are used by both user objects (JEMMObject types) and types
9 * (e.g. JemmMap, subclasses of JEMMType).
10 *
11 * @author Rory Graves
12 *
13 */
14 public interface ShadowObject {
15
16 /**
17 * Returns the JEMMObject user object that this ShadowObject related too.
18 * If needed (for example with RemoteStore) the object will be instantiated.
19 * @return The user object instance being shadowed
20 */
21 JEMMObject getUserObject();
22
23 /**
24 * @return The unique ID of the object being managed.
25 */
26 ID getID();
27 }