Freezable

interface Freezable<T>


Interface for data objects that support being frozen into immutable representations.

Summary

Public functions

T

Freeze a volatile representation into an immutable representation.

Boolean

Check to see if this object is valid for use.

Public functions

freeze

fun freeze(): T

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.
Returns
T

A concrete implementation of the data object.

isDataValid

fun isDataValid(): Boolean

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 to freeze will always be valid.

Returns
Boolean

whether or not the object is valid for use.