Class RefSoft<T extends ACell>

java.lang.Object
convex.core.data.AObject
convex.core.data.Ref<T>
convex.core.data.RefSoft<T>
Type Parameters:
T - Type of referenced Cell
All Implemented Interfaces:
IValidated, IWriteable, Comparable<Ref<T>>

public class RefSoft<T extends ACell> extends Ref<T>
Reference class implemented via a soft reference and store lookup. Ref makes use of a soft reference to values, allowing memory to be reclaimed by the garbage collector when not required. A MissingDataException will occur with any attempt to deference this Ref when the value is not present and not stored in the current store. Instances of this class should usually be be STORED, otherwise data loss may occur due to garbage collection. However UNKNOWN RefSoft may exist temporarily (e.g. reading Refs from external messages) RefSoft must always have a non-null hash, to ensure lookup capability in store. RefSoft must always store a canonical value, if any