com.rubecula.jquantity
Interface Mutable

All Superinterfaces:
java.lang.Cloneable
All Known Subinterfaces:
Arithmutable, FuzzyMutable
All Known Implementing Classes:
DivisibleMutable, FuzzInt, IntegerPresentation, MutableNumber, NumberPresentation, QuantityPresentation, Rational, ValuePresentation

public interface Mutable
extends java.lang.Cloneable

This interface is used to define whether an object is mutable, that is to say it has non-final instance fields with mutator methods.
Note that any object which is mutable cannot properly (and safely) be copied other than by cloning (this is a fact of Java life).
Objects which are themselves immutable but which reference Cloneable objects must implement Cloneable and the clone method must clone any referenced instances which are Cloneable. This will be done via a constructor.
Objects which are mutable but do not reference any Cloneable objects must also implement Cloneable, but in this case, the clone() method will simply be of the form return (Class)super.clone().
This interface does not define any methods.

Version:
$Revision: 1.1 $
Author:
Robin Hillyard