JavaTM 2
Platform
Std. Ed. v1.4.0

javax.print.attribute
クラス EnumSyntax

java.lang.Object
  |
  +--javax.print.attribute.EnumSyntax
すべての実装インタフェース:
Cloneable, Serializable
直系の既知のサブクラス:
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 Serializable, Cloneable

EnumSyntax クラスは、すべての「型保証された列挙」オブジェクトの一般的な実装を提供する抽象基底クラスです。EnumSyntax クラスの拡張である列挙クラスは、列挙クラスの単独インスタンスである列挙値 (オブジェクト) のグループを提供します。次に例を示します。

     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() メソッドは正常に動作します。ただし、列挙クラスとサブクラスが使用されるアプリケーションは、スーパークラスとサブクラスで異なる整数値を持つ必要があります。

関連項目:
直列化された形式

コンストラクタの概要
protected EnumSyntax(int value)
          指定された整数値を持つ新しい列挙値を構築します。
 
メソッドの概要
 Object clone()
          列挙値の複製を返します。
protected  EnumSyntax[] getEnumValueTable()
          この列挙値の列挙クラスの列挙値テーブルを返します。
protected  int getOffset()
          この列挙値の列挙クラスで使用される最小の整数値を返します。
protected  String[] getStringTable()
          この列挙値の列挙クラスの文字列テーブルを返します。
 int getValue()
          列挙値の整数値を返します。
 int hashCode()
          この列挙値のハッシュコード値を返します。
protected  Object readResolve()
          オブジェクトの入力時に、この直列化復元された列挙インスタンスを、列挙属性クラスで定義された適切な列挙値に変換します。
 String toString()
          この列挙値に対応する文字列値を返します。
 
クラス java.lang.Object から継承したメソッド
equals, finalize, getClass, notify, notifyAll, wait, wait, wait
 

コンストラクタの詳細

EnumSyntax

protected EnumSyntax(int value)
指定された整数値を持つ新しい列挙値を構築します。

パラメータ:
value - 整数値
メソッドの詳細

getValue

public int getValue()
列挙値の整数値を返します。

戻り値:

clone

public Object clone()
列挙値の複製を返します。これは、列挙値のセマンティクスを保護するために、この列挙値と同じオブジェクトになります。

オーバーライド:
クラス Object 内の clone
戻り値:
このインスタンスの複製
関連項目:
Cloneable

hashCode

public int hashCode()
この列挙値のハッシュコード値を返します。ハッシュコードはこの列挙値の整数値です。

オーバーライド:
クラス Object 内の hashCode
戻り値:
このオブジェクトのハッシュコード値
関連項目:
Object.equals(java.lang.Object), Hashtable

toString

public String toString()
この列挙値に対応する文字列値を返します。

オーバーライド:
クラス Object 内の toString
戻り値:
このオブジェクトの文字列表現

readResolve

protected Object readResolve()
                      throws ObjectStreamException
オブジェクトの入力時に、この直列化復元された列挙インスタンスを、列挙属性クラスで定義された適切な列挙値に変換します。

戻り値:
getEnumValueTable() によって返された列挙値テーブルのインデックス i から L に格納された列挙の単独値。ここで、i はこの列挙値の整数値、L は getOffset() によって返された値
例外:
ObjectStreamException - ストリームが直列化復元できない場合
InvalidObjectException - 列挙値のテーブルが null の場合、この列挙値の整数値が列挙値のテーブルの要素に対応しない場合、または列挙値のテーブルの対応する要素が null の場合、スローされる。注: InvalidObjectException は、readResolve() がスローを宣言された ObjectStreamException のサブクラスである

getStringTable

protected String[] getStringTable()
この列挙値の列挙クラスの文字列テーブルを返します。列挙クラスの整数値は L 〜 L+N-1 の範囲にあるものと見なされます。ここで、L は getOffset() によって返された値、N は文字列テーブルの長さです。インデックス i 〜 L の文字列テーブルの要素は、整数値が i の列挙値の toString() によって返された値です。上述の範囲の整数値は、列挙値では使用されず、対応するテーブルの要素は null のままになります。

デフォルトの実装は null を返します。列挙クラス (EnumSyntax クラスのサブクラス) が null 以外の文字列テーブルを返すために、このメソッドをオーバーライドしない場合、およびサブクラスが toString() メソッドをオーバーライドしない場合、基底クラス toString() メソッドは、この列挙値の整数値の文字列表現を返します。

戻り値:
文字列テーブル

getEnumValueTable

protected EnumSyntax[] getEnumValueTable()
この列挙値の列挙クラスの列挙値テーブルを返します。列挙クラスの整数値は L 〜 L+N-1 の範囲にあるものと見なされます。ここで、L は getOffset() によって返された値、N は列挙値テーブルの長さです。インデックス i 〜 L の列挙値テーブルの要素は、整数値が i の列挙値オブジェクトです。readResolve() メソッドは、列挙インスタンスの直列化復元時に単独のセマンティクスを保護するためにこれが必要になります。上述の範囲の整数値は、列挙値では使用されず、対応するテーブルの要素は null のままになります。

デフォルトの実装は null を返します。列挙クラス (EnumSyntax クラスのサブクラス) が null 以外の列挙値テーブルを返すために、このメソッドをオーバーライドしない場合、およびサブクラスが readResolve() メソッドをオーバーライドしない場合、基底クラス readResolve() メソッドは、列挙インスタンスがオブジェクト入力ストリームから直列化復元されるときは必ず例外をスローします。

戻り値:
値テーブル

getOffset

protected int getOffset()
この列挙値の列挙クラスで使用される最小の整数値を返します。

デフォルトの実装は 0 を返します。列挙クラス (EnumSyntax クラスのサブクラス) が 0 以外で始まる整数値を使用する場合、サブクラスのこのメソッドをオーバーライドします。

戻り値:
最小の列挙値のオフセット

JavaTM 2
Platform
Std. Ed. v1.4.0

バグの報告と機能のリクエスト
これ以外の API リファレンスおよび開発者用ドキュメントについては、 Java 2 SDK SE 開発者用ドキュメントを参照してください。 開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、 およびコード実例が含まれています。

Java、Java 2D、および JDBC は米国ならびにその他の国における米国 Sun Microsystems, Inc. の商標もしくは登録商標です。
Copyright 1993-2002 Sun Microsystems, Inc. 901 San Antonio Road
Palo Alto, California, 94303, U.S.A. All Rights Reserved.