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 }