/**
 * <p>Contract Marker: TypeSafeEnum<br/>
 * Description: The Type Safe Enumeration "contract" requires a class
 * to follow the design pattern as documented on the
 *  <a href="http://developer.java.sun.com/developer/Books/shiftintojava/page1.html#replaceenums">
 * Java web site</a>.
 * This contract uses a variant that implies that serialization is
 * done properly and may or may not use an integer ordinal value.
 * <br><b>Note that this contract commits the subclasses to implement
 * Serializable.</b>  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
{}
