Interface Immutable
-
public interface ImmutableThis interface identifies classes whose instances are not subject or susceptible to change or variation after creation. Once a class is declared immutable, any subclass must ensure immutability as well.
Immutableobjects can safely be used in a multi-threaded environment and do not require defensive copying. For example:class Polygon implements Immutable { private List<Point2D> _vertices; public Polygon(List<Point2D> vertices) { _vertices = (vertices instanceof Immutable) ? vertices : // Safe, the vertices cannot be modified by the client. new FastTable<Point2D>(vertices); // Defensive copying required. } }- See Also:
- Wikipedia: Immutable Object
DMelt 3.0 © DataMelt by jWork.ORG