javax.print.attribute

Class EnumSyntax

public abstract class EnumSyntax extends Object implements Cloneable, Serializable

EnumSyntax is the abstract base class of all enumeration classes in the Java Print Service API.

Every enumeration class which extends from EnumSyntax provides several enumeration objects as singletons of its class.

Notes for implementing subclasses:

Example:
 
 public class PrinterState extends EnumSyntax
 {
   public static final PrinterState IDLE = new PrinterState(1);
   public static final PrinterState PROCESSING = new PrinterState(2);
   public static final PrinterState STOPPED = new PrinterState(3);
 
   protected PrinterState(int value)
   {
     super(value);
   }
 
   // Overridden because values start not at zero !
   protected int getOffset()
   {
     return 1;
   }
 
   private static final String[] stringTable = { "idle", "processing", 
                                                 "stopped" };
 
   protected String[] getStringTable()
   {
     return stringTable;
   }
 
   private static final PrinterState[] enumValueTable = { IDLE, 
                                             PROCESSING, STOPPED};
 
   protected EnumSyntax[] getEnumValueTable()
   {
     return enumValueTable;
   }
 }
 
Constructor Summary
protected EnumSyntax(int value)
Creates a EnumSyntax object.
Method Summary
Objectclone()
Clones this object.
protected EnumSyntax[]getEnumValueTable()
Returns a table with the enumeration values for this object.
protected intgetOffset()
Returns the lowest used value by the enumerations of this class.
protected String[]getStringTable()
Returns a table with the enumeration values represented as strings for this object.
intgetValue()
Returns the value of this enumeration object.
inthashCode()
Returns the hashcode for this object.
protected ObjectreadResolve()
Needed for singelton semantics during deserialisation.
StringtoString()
Returns the string representation for this object.

Constructor Detail

EnumSyntax

protected EnumSyntax(int value)
Creates a EnumSyntax object.

Parameters: value the value to set.

Method Detail

clone

public Object clone()
Clones this object.

Returns: A clone of this object.

getEnumValueTable

protected EnumSyntax[] getEnumValueTable()
Returns a table with the enumeration values for this object. The default implementation just returns null. Subclasses have to to override this method for serialization.

Returns: The enumeration values.

getOffset

protected int getOffset()
Returns the lowest used value by the enumerations of this class. The default implementation returns 0. This is enough if enumerations start with a zero value. Otherwise subclasses need to override this method for serialization and return the lowest value they use. .

Returns: The lowest used value used.

getStringTable

protected String[] getStringTable()
Returns a table with the enumeration values represented as strings for this object. The default implementation just returns null. Subclasses should override this method.

Returns: The enumeration values as strings.

getValue

public int getValue()
Returns the value of this enumeration object.

Returns: The value.

hashCode

public int hashCode()
Returns the hashcode for this object. The hashcode is the value of this enumeration object.

Returns: The hashcode.

readResolve

protected Object readResolve()
Needed for singelton semantics during deserialisation. Subclasses must not override this class. Subclasses have to override getEnumValueTable() and should override getStringTable() for correct serialization.

Returns: The Object at index value - getOffset() in getEnumValueTable.

Throws: ObjectStreamException if getEnumValueTable() returns null.

toString

public String toString()
Returns the string representation for this object. The string value from getStringTable() method is returned if subclasses override this method. Otherwise the value of this object as a string is returned.

Returns: The string representation.