JavaTM Platform
Standard Ed. 6

javax.print.attribute
インタフェース AttributeSet

既知のサブインタフェースの一覧:
DocAttributeSet, PrintJobAttributeSet, PrintRequestAttributeSet, PrintServiceAttributeSet
既知の実装クラスの一覧:
HashAttributeSet, HashDocAttributeSet, HashPrintJobAttributeSet, HashPrintRequestAttributeSet, HashPrintServiceAttributeSet

public interface AttributeSet

AttributeSet インタフェースは、印刷属性セットのインタフェースを指定します。印刷属性セットは、そのクラスがインタフェース Attribute を実装するオブジェクトです。

属性セットには「属性値」のグループが含まれます。 このセットでは、複製値を設定することができません。さらに、属性セットの各値は何らかの「カテゴリ」のメンバーであり、特定のカテゴリ内に 1 つだけ値を設定することができます。属性セットの場合、値は Attribute オブジェクトであり、カテゴリは Class オブジェクトです。属性のカテゴリは、その属性の種類に対するクラス階層のルートのクラスまたはインタフェースです。属性オブジェクトのカテゴリは、属性オブジェクトのクラスそのものではなく、属性オブジェクトのクラスのスーパークラスであることに注意してください。属性オブジェクトのカテゴリは、Attribute インタフェースで定義された getCategory() メソッドの呼び出しによって決まります。

AttributeSet のインタフェースは、Java コレクション API の java.util.Map インタフェースに似ていますが、受け入れる型により大きな制限があり、キーと値を Attribute にまとめます。

属性セットは、Print Service API のいくつかの場所で使用されます。各コンテキストで、特定の種類の属性だけが属性セットに表示できます。 これは、属性クラスが実装するタグ機能インタフェース DocAttributePrintRequestAttributePrintJobAttribute、および PrintServiceAttribute によって指定されます。属性の特性には 4 つあり、それぞれ次の 4 種類の属性のうち 1 つだけを持つように制限されています。 これらは DocAttributeSetPrintRequestAttributeSetPrintJobAttributeSet、および PrintServiceAttributeSet です。多くの属性クラスは、複数のタグ機能インタフェースを実装するため、複数のコンテキストで表示されることに注意してください。

一部のコンテキストでは、クライアントは属性セットの内容の検査だけができ、変更はできません (設定が読み込み専用)。その他の場合、クライアントは属性セットの内容の検査と変更の両方を行うことができます (設定が読み込み、書き込み可能)。読み込み専用属性セットの場合、変更オペレーションの呼び出しは UnmodifiableSetException をスローします。

Print Service API は、HashAttributeSet クラスの AttributeSet インタフェースの 1 つを実装します。クライアントは、HashAttributeSet クラスを使用するか、または独自の AttributeSet インタフェースを実装します。また、Print Service API は、AttributeSet インタフェースのサブインタフェースも実装します。 そのクラスは、HashDocAttributeSetHashPrintRequestAttributeSetHashPrintJobAttributeSet、および HashPrintServiceAttributeSet です。


メソッドの概要
 boolean add(Attribute attribute)
          属性をまだ保持していない場合、最初に指定された属性値と同じ属性カテゴリにある値を削除してから、属性セットに指定された属性を追加します。
 boolean addAll(AttributeSet attributes)
          指定されたセットのすべての要素をこの属性に追加します。
 void clear()
          この属性セットからすべての属性を削除します。
 boolean containsKey(Class<?> category)
          属性セットが、指定されたカテゴリの属性を保持している場合に true を返します。
 boolean containsValue(Attribute attribute)
          属性セットが指定された属性値を保持している場合に true を返します。
 boolean equals(Object object)
          指定されたオブジェクトとこの属性セットが等しいかどうかを比較します。
 Attribute get(Class<?> category)
          指定された属性カテゴリに格納される属性セットの属性値を返します。
 int hashCode()
          属性セットのハッシュコード値を返します。
 boolean isEmpty()
          この属性セットに属性が格納されていない場合に true を返します。
 boolean remove(Attribute attribute)
          属性セットから指定された属性を削除します (存在する場合)。
 boolean remove(Class<?> category)
          属性セットからカテゴリの任意の属性を削除します (存在する場合)。
 int size()
          属性セット内の属性数を返します。
 Attribute[] toArray()
          このセットに含まれている属性の配列を返します。
 

メソッドの詳細

get

Attribute get(Class<?> category)
指定された属性カテゴリに格納される属性セットの属性値を返します。属性セットが指定された属性カテゴリに属性値を持たない場合は null を返します。

パラメータ:
category - 関連する属性値が 返される属性カテゴリ。Attribute インタフェースを実装する Classでなければならない
戻り値:
属性セットに格納される、指定された属性カテゴリの属性値、 または属性セットが指定された属性カテゴリに 属性値を持たない場合は null
例外:
NullPointerException - 未確認の例外。category が null の場合、スローされる
ClassCastException - 未確認の例外。categoryAttribute インタフェースを実装する Class ではない場合、スローされる

add

boolean add(Attribute attribute)
属性をまだ保持していない場合、最初に指定された属性値と同じ属性カテゴリにある値を削除してから、属性セットに指定された属性を追加します。

パラメータ:
attribute - 属性セットに追加される属性値
戻り値:
属性セットが呼び出しの結果変更された場合、 つまり指定された属性値がすでに属性セットのメンバーでなくなっている場合は true
例外:
NullPointerException - 未確認の例外。attribute が null の場合、スローされる
UnmodifiableSetException - 未確認の例外。属性セットが add() オペレーションを サポートしない場合、スローされる

remove

boolean remove(Class<?> category)
属性セットからカテゴリの任意の属性を削除します (存在する場合)。category が null の場合、remove() は何もせずに false を返します。

パラメータ:
category - この属性セットから削除される 属性カテゴリ
戻り値:
属性セットが呼び出しの結果変更された場合、 つまり指定された属性値が属性セットのメンバーになっている場合は true
例外:
UnmodifiableSetException - 未確認の例外。属性セットが remove() オペレーションを サポートしない場合、スローされる

remove

boolean remove(Attribute attribute)
属性セットから指定された属性を削除します (存在する場合)。attribute が null の場合、remove() は何もせずに false を返します。

パラメータ:
attribute - 属性セットから削除される属性値
戻り値:
属性セットが呼び出しの結果変更された場合、 つまり指定された属性値が属性セットのメンバーになっている場合は true
例外:
UnmodifiableSetException - 未確認の例外。属性セットが remove() オペレーションを サポートしない場合、スローされる

containsKey

boolean containsKey(Class<?> category)
属性セットが、指定されたカテゴリの属性を保持している場合に true を返します。

パラメータ:
category - この属性セットにあるかどうかが 調べられる
戻り値:
属性セットが、指定されたカテゴリの 属性値を保持している場合に true

containsValue

boolean containsValue(Attribute attribute)
属性セットが指定された属性値を保持している場合に true を返します。

パラメータ:
attribute - 属性セットにあるかどうかが 調べられる属性値
戻り値:
属性セットが指定された属性値を保持している場合に true

addAll

boolean addAll(AttributeSet attributes)
指定されたセットのすべての要素をこの属性に追加します。その結果は、= add(Attribute) オペレーションが、指定されたセットの各要素を持つ属性セットに連続的に適用された場合と同じです。オペレーションが行われている間に、指定されたセットが変更された場合、addAll(AttributeSet) オペレーションの動作は指定されません。

addAll(AttributeSet) オペレーションが例外をスローする場合、属性セットの状態に対する影響は実装に依存します。例外の位置の前に指定されたセットの要素は、属性セットに追加される場合とされない場合があります。

パラメータ:
attributes - 属性セットに追加される 要素
戻り値:
属性セットが呼び出しの結果変更された場合、 true
例外:
UnmodifiableSetException - 未確認の例外。属性セットが addAll(AttributeSet) メソッドを サポートしない場合、スローされる
NullPointerException - 未確認の例外。指定されたセットの一部の要素が null の場合、スローされる
関連項目:
add(Attribute)

size

int size()
属性セット内の属性数を返します。この属性セットに Integer.MAX_VALUE より多くの要素がある場合は、Integer.MAX_VALUE を返します。

戻り値:
この属性セットの属性数

toArray

Attribute[] toArray()
このセットに含まれている属性の配列を返します。

戻り値:
このセットに配列として保持される Attribute。 AttributeSet が空の場合は長さゼロ

clear

void clear()
この属性セットからすべての属性を削除します。

例外:
UnmodifiableSetException - 未確認の例外。属性セットが clear() オペレーションを サポートしない場合、スローされる

isEmpty

boolean isEmpty()
この属性セットに属性が格納されていない場合に true を返します。

戻り値:
この属性セットに属性が格納されていない場合に true

equals

boolean equals(Object object)
指定されたオブジェクトとこの属性セットが等しいかどうかを比較します。指定されたオブジェクトも属性セットであり、2 つの属性セットが同じ属性カテゴリの属性値のマッピングを保持する場合は true を返します。これは、異なる AttributeSet インタフェースの実装で equals() メソッドが正常に動作することを保証します。

オーバーライド:
クラス Object 内の equals
パラメータ:
object - この属性セットと等しいかどうかが比較される
戻り値:
指定されたオブジェクトが この属性セットと等しい場合は true
関連項目:
Object.hashCode(), Hashtable

hashCode

int hashCode()
属性セットのハッシュコード値を返します。属性セットのハッシュコードは、AttributeSet の各エントリのハッシュコードの合計になるように定義されます。これにより、Object.hashCode() の一般規約によって要求されるように、任意の 2 つの属性セット t1t2 について、t1.equals(t2) であれば t1.hashCode()==t2.hashCode() となることが保証されます。

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

JavaTM Platform
Standard Ed. 6

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

Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。