/** *
Contract Marker: TypeSafeEnum
* Description: The Type Safe Enumeration "contract" requires a class
* to follow the design pattern as documented on the
*
* Java web site.
* This contract uses a variant that implies that serialization is
* done properly and may or may not use an integer ordinal value.
*
Note that this contract commits the subclasses to implement
* Serializable. When done properly, the default equals, hashCode,
* and toString methods will be sufficient to claim adherence to the Abelian
* contract too for free!
* @see "Effective Java; Item 21"
*/
public interface TypeSafeEnum
extends Contract, java.io.Serializable, Abelian
{}