javax.print.attribute
Class EnumSyntax

java.lang.Object
  extended by javax.print.attribute.EnumSyntax
All Implemented Interfaces:
Serializable, Cloneable
Direct Known Subclasses:
Chromaticity, ColorSupported, Compression, Fidelity, Finishings, JobSheets, JobState, JobStateReason, Media, MultipleDocumentHandling, OrientationRequested, PDLOverrideSupported, PresentationDirection, PrinterIsAcceptingJobs, PrinterState, PrinterStateReason, PrintQuality, ReferenceUriSchemesSupported, Severity, SheetCollate, Sides

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;
   }
 }
 

See Also:
Serialized Form

Constructor Summary
protected EnumSyntax(int value)
          Creates a EnumSyntax object.
 
Method Summary
 Object clone()
          Clones this object.
protected  EnumSyntax[] getEnumValueTable()
          Returns a table with the enumeration values for this object.
protected  int getOffset()
          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.
 int getValue()
          Returns the value of this enumeration object.
 int hashCode()
          Returns the hashcode for this object.
protected  Object readResolve()
          Needed for singelton semantics during deserialisation.
 String toString()
          Returns the string representation for this object.
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

EnumSyntax

protected EnumSyntax(int value)
Creates a EnumSyntax object.

Parameters:
value - the value to set.
Method Detail

getValue

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

Returns:
The value.

clone

public Object clone()
Clones this object.

Overrides:
clone in class Object
Returns:
A clone of this object.
See Also:
Cloneable

hashCode

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

Overrides:
hashCode in class Object
Returns:
The hashcode.
See Also:
Object.equals(Object), System.identityHashCode(Object)

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.

Overrides:
toString in class Object
Returns:
The string representation.
See Also:
Object.getClass(), Object.hashCode(), Class.getName(), Integer.toHexString(int)

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.

readResolve

protected Object readResolve()
                      throws ObjectStreamException
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.

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.