| 
JADE v6.1 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.dautelle.realtime.RealtimeObject
 This class provides a default implementation of the Realtime 
     interface.
 Instances of this class should be created using a RealtimeObject.Factory.
     For example:
     public class Foo extends RealtimeObject {
         static final Factory FACTORY = new Factory() {
             public Object create() {
                 return new Foo();
             }
         };
         protected Foo() {} // Default constructor for sub-classes. 
         public static Foo newInstance() { // Static factory method.
             return (Foo) FACTORY.object();
         }
         public Object export() { // Optional, only if new real-time members.
             ... // Exports new real-time variable members.
             return super.export();
         }
         public Object toHeap() { // Optional, only if new real-time members.
             ... // Moves to heap new real-time variable members.
             return super.toHeap();
         }
     }
  Instances of this class can be immutable. Instances allocated in a
     pool context must be exported if referenced
     after exiting the pool context.
| Nested Class Summary | |
protected static class | 
RealtimeObject.Factory
This abstract class represents the factory responsible for the creation of RealtimeObject instances. | 
| Constructor Summary | |
protected  | 
RealtimeObject()
Default constructor.  | 
| Method Summary | |
protected  java.lang.Object | 
clone()
Overrides the clone method to ensure that the copy references the heap pool.  | 
 java.lang.Object | 
export()
Exports this object out of the current pool context.  | 
 boolean | 
isLocalObject()
Indicates if this object is an object local to the current pool context.  | 
 boolean | 
isPoolObject()
Indicates if this object belongs to a pool (stack allocated object).  | 
protected  void | 
recycle()
Recycles this object.  | 
 java.lang.Object | 
toHeap()
Moves this object to the heap.  | 
| Methods inherited from class java.lang.Object | 
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Constructor Detail | 
protected RealtimeObject()
| Method Detail | 
public final boolean isLocalObject()
Note: Due to the "export" rule, non-local objects cannot refer to local object.
true if this object belongs to the current 
         pool context; false otherwise.public final boolean isPoolObject()
Note: Due to the "export" rule, heap objects cannot refer to pool object.
true if this object belongs to a pool; 
         false if this object belongs to the heap.protected void recycle()
local objects
 and has no effect on heap objects or objects allocated outside of 
 the current pool context. Recycling is limited to this object and 
 its internal and has no effect on any shared member.
public java.lang.Object export()
RealtimeRealtime members are exported as well (recursion).
 This method affects only objects belonging to the current pool context.
 To avoid pool depletion, a "free" object from the outer pool
 is moved to replace the object being exported.
thispublic java.lang.Object toHeap()
RealtimeRealtime members are moved to the heap as well (recursion).
 This method affects only objects belonging to a pool context
 (current or not).
this
protected java.lang.Object clone()
                          throws java.lang.CloneNotSupportedException
java.lang.CloneNotSupportedException
  | 
JADE v6.1 | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||