View Javadoc

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  }