View Javadoc

1   /**
2    * 
3    */
4   package org.sourceforge.jemm.util;
5   
6   import org.sourceforge.jemm.collections.JemmList;
7   import org.sourceforge.jemm.collections.JemmMap;
8   import org.sourceforge.jemm.lifecycle.ShadowTypeObject;
9   import org.sourceforge.jemm.lifecycle.TypeConstructorLifecycle;
10  
11  /**
12   * Interface to mark JEMM types.  These are special classes that are usable by user persistent classes,
13   * but are specially implemented in JEMM.  These include connections class ( {@link JemmMap}, {@link JemmList} etc. ) 
14   * 
15   * @author Rory Graves
16   *
17   */
18  public abstract class JEMMType implements JEMMObject {
19  	
20  	/** The underlying shadow object that handles communication with the store */
21  	protected ShadowTypeObject jemmOIF;
22  
23  	/**
24       * Creates a JEMMType instance.
25       */
26      public JEMMType() {        
27          TypeConstructorLifecycle.typeConstructed(this);
28      }
29      
30      protected JEMMType(ShadowTypeObject jemmOIF) {
31      	this.jemmOIF = jemmOIF;
32      }
33  
34      /**
35       * @param sto
36       */
37      public void setShadow(ShadowTypeObject sto) {
38          this.jemmOIF = sto;
39      }
40  }