Interface for data objects that support being frozen into immutable representations.
Public Method Summary
Freeze a volatile representation into an immutable representation.
Check to see if this object is valid for use.
public abstract T freeze ()
Freeze a volatile representation into an immutable representation. Objects returned from this call are safe to cache.
Note that the output of
freeze may not be identical to the parent
object, but should be equal. In other words:
Freezable f1 = new Freezable(); Freezable f2 = f1.freeze(); f1 == f2 may not be true. f1.equals(f2) will be true.
- A concrete implementation of the data object.
public abstract boolean isDataValid ()
Check to see if this object is valid for use. If the object is still volatile, this
method will indicate whether or not the object can be safely used. The output of a call
will always be valid.
- whether or not the object is valid for use.