- 既知のすべてのサブインタフェース:
DocAttributeSet,PrintJobAttributeSet,PrintRequestAttributeSet,PrintServiceAttributeSet
- 既知のすべての実装クラス:
HashAttributeSet,HashDocAttributeSet,HashPrintJobAttributeSet,HashPrintRequestAttributeSet,HashPrintServiceAttributeSet
AttributeSetは、一連の印刷属性のインタフェースを指定します。 印刷属性は、そのクラスがAttributeインタフェースを実装するオブジェクトです。
属性セットには属性値のグループが含まれます。セット内では値の重複は許可されません。 さらに、属性セットの各値はなんらかのカテゴリのメンバーであり、特定のカテゴリ内に1つのみ値を設定できます。 属性セットの場合、値はAttributeオブジェクトであり、カテゴリはClassオブジェクトです。 属性のカテゴリは、その属性の種類に対するクラス階層のルートのクラスまたはインタフェースです。 属性オブジェクトのカテゴリは、属性オブジェクトのクラスそのものではなく、属性オブジェクトのクラスのスーパー・クラスであることに注意してください。 属性オブジェクトのカテゴリは、Attributeインタフェースで定義されたgetCategory()メソッドの呼出しによって決まります。
AttributeSetのインタフェースは、Java Collections APIのjava.util.Mapインタフェースのインタフェースに似ていますが、受け入れられるタイプにはより制限があり、キーと値をAttributeに結合します。
属性セットは、Print Service APIのいくつかの場所で使用されます。 各コンテキストで属性セットに含めることができるのは特定の種類の属性のみですが、その判定は、属性クラスが実装しているタグ機能インタフェース(DocAttribute、PrintRequestAttribute、PrintJobAttribute、およびPrintServiceAttribute)に基づいて行われます。 これら4種類の属性のうちの1種類のみを含むように制限された特殊化された属性セットが4つ存在します。それぞれDocAttributeSet、PrintRequestAttributeSet、PrintJobAttributeSet、およびPrintServiceAttributeSetです。 多くの属性クラスは、複数のタグ機能インタフェースを実装するため、複数のコンテキストで表示されることに注意してください。
DocAttributeを持つDocAttributeSetは、個々のドキュメントの特性、および個々のドキュメントに適用される印刷ジョブの設定を指定する。PrintRequestAttributeを持つPrintRequestAttributeSetは、印刷ジョブ全体および印刷ジョブのすべてのドキュメントに適用される設定を指定する。PrintJobAttributeを持つPrintJobAttributeSetは、印刷ジョブの状態を報告する。PrintServiceAttributeを持つPrintServiceAttributeSetは、Print Serviceインスタンスの状態を報告する。
UnmodifiableSetExceptionをスローします。
Print Service APIは、インタフェースAttributeSet、クラスHashAttributeSetの1つの実装を提供します。 クライアントはクラスHashAttributeSetを使用するか、またはインタフェースAttributeSetの独自の実装を提供できます。 Print Service APIは、インタフェースAttributeSetのサブインタフェースの実装も提供 -- クラスHashDocAttributeSet、HashPrintRequestAttributeSet、HashPrintJobAttributeSetおよびHashPrintServiceAttributeSet。
-
メソッドのサマリー
修飾子と型メソッド説明boolean属性をまだ保持していない場合、最初に指定された属性値と同じ属性カテゴリにある値を削除してから、属性セットに指定された属性を追加します。booleanaddAll(AttributeSet attributes) 指定されたセットのすべての要素をこの属性に追加します。voidclear()この属性セットからすべての属性を削除します。booleancontainsKey(Class<?> category) この属性セットに指定したカテゴリの属性が含まれている場合は、trueを返します。booleancontainsValue(Attribute attribute) この属性セットに特定の属性値が含まれている場合は、trueを返します。boolean指定されたオブジェクトとこの属性セットが等しいかどうかを比較します。指定された属性カテゴリに格納される属性セットの属性値を返します。inthashCode()属性セットのハッシュ・コード値を返します。booleanisEmpty()この属性セットに属性が含まれていない場合は、trueを返します。boolean属性セットからカテゴリの任意の属性を削除します(存在する場合)。boolean属性セットから指定された属性を削除します(存在する場合)。intsize()属性セット内の属性数を返します。toArray()このセットに含まれている属性の配列を返します。
-
メソッドの詳細
-
get
指定された属性カテゴリに格納される属性セットの属性値を返します。 この属性セットに、指定された属性カテゴリの属性値が含まれていない場合は、nullを返します。- パラメータ:
category- 関連する属性値が返される属性カテゴリ。 これは、Attributeインタフェースを実装するClassである必要があります。- 戻り値:
- この属性セットに含まれる属性カテゴリの属性値。この属性セットに指定された属性カテゴリの属性値が含まれていない場合は
null - 例外:
NullPointerException-categoryがnullの場合ClassCastException-categoryがインタフェースAttributeを実装する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の場合- 関連項目:
-
size
int size()属性セット内の属性数を返します。 この属性セットにInteger.MAX_VALUEを超える要素が含まれている場合は、Integer.MAX_VALUEを返します。- 戻り値:
- この属性セットの属性の数
-
toArray
-
clear
-
isEmpty
boolean isEmpty()この属性セットに属性が含まれていない場合は、trueを返します。- 戻り値:
trueこの属性セットに属性がない場合
-
equals
boolean equals(Object object) 指定されたオブジェクトとこの属性セットが等しいかどうかを比較します。 指定されたオブジェクトが属性セットでもあり、2つの属性セットに同じ属性カテゴリ属性値マッピングが含まれている場合は、trueを返します。 これにより、equals()メソッドがAttributeSetインタフェースのさまざまな実装間で正しく動作することが保証されます。 -
hashCode
int hashCode()属性セットのハッシュ・コード値を返します。 属性セットのハッシュ・コードは、AttributeSet内の各エントリのハッシュ・コードの合計であると定義されています。 これにより、t1.equals(t2)は、Object.hashCode()の一般契約で必要となる2つの属性セットt1およびt2のt1.hashCode()==t2.hashCode()を意味します。
-