モジュール java.desktop
パッケージ javax.print.attribute

クラスEnumSyntax

java.lang.Object
javax.print.attribute.EnumSyntax
すべての実装されたインタフェース:
Serializable, Cloneable
直系の既知のサブクラス:
Chromaticity, ColorSupported, Compression, DialogTypeSelection, 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 Serializable, Cloneable
クラスEnumSyntaxは、すべての"型の安全な列挙型"オブジェクトの共通実装を提供する抽象基本クラスです。 列挙型クラス(クラスEnumSyntaxを継承)は、列挙型クラスのシングルトン・インスタンスである列挙値のグループ(objects)を提供します。例えば:
     public class Bach extends EnumSyntax {
         public static final Bach JOHANN_SEBASTIAN     = new Bach(0);
         public static final Bach WILHELM_FRIEDEMANN   = new Bach(1);
         public static final Bach CARL_PHILIP_EMMANUEL = new Bach(2);
         public static final Bach JOHANN_CHRISTIAN     = new Bach(3);
         public static final Bach P_D_Q                = new Bach(4);

         private static final String[] stringTable = {
             "Johann Sebastian Bach",
              "Wilhelm Friedemann Bach",
              "Carl Philip Emmanuel Bach",
              "Johann Christian Bach",
              "P.D.Q. Bach"
         };

         protected String[] getStringTable() {
             return stringTable;
         }

         private static final Bach[] enumValueTable = {
             JOHANN_SEBASTIAN,
              WILHELM_FRIEDEMANN,
              CARL_PHILIP_EMMANUEL,
              JOHANN_CHRISTIAN,
              P_D_Q
         };

         protected EnumSyntax[] getEnumValueTable() {
             return enumValueTable;
         }
     }
 
次いで、==および!=演算子を使用するコードを記述して、列挙値を判定できます。たとえば:
     Bach theComposer;
     . . .
     if (theComposer == Bach.JOHANN_SEBASTIAN) {
         System.out.println ("The greatest composer of all time!");
     }
 
列挙クラスのequals()メソッドは、同一のオブジェクト(==)の判定だけを行います。

列挙値を文字列に変換するには、toString()を呼び出します。 文字列は列挙クラスが提供するテーブルから取得されます。

背後にある実装では、列挙値は整数値のみであり、列挙クラス内の列挙値ごとに異なる整数値が割り当てられています。 列挙値の整数値を取得するには、getValue()を呼び出します。 列挙値の整数値は、列挙値の構築時に設定されます(EnumSyntax(int)を参照)。 コンストラクタが保護されているので、使用できる列挙値は列挙クラスで宣言された単体オブジェクトのみです。実行時に新たに列挙値を作成できません。

列挙クラスのサブクラスを定義して、追加の列挙値を持つ列挙クラスを拡張できます。 サブクラスの列挙値の整数値は、スーパー・クラスの列挙値の整数値と別個のものである必要はありません。サブクラスがスーパー・クラスと同じ整数値を使用しても、==!=equals()、およびtoString()メソッドは正常に動作します。 ただし、列挙クラスとサブクラスが使用されるアプリケーションは、スーパー・クラスとサブクラスで異なる整数値を持つ必要があります。

関連項目: