public interface AttributeSet
Attribute
インタフェースを実装するオブジェクトです。
属性セットには属性値のグループが含まれます。セット内では値の重複は許可されません。さらに、属性セットの各値はなんらかのカテゴリのメンバーであり、特定のカテゴリ内に1つのみ値を設定できます。属性セットの場合、値はAttribute
オブジェクトであり、カテゴリはClass
オブジェクトです。属性のカテゴリは、その属性の種類に対するクラス階層のルートのクラスまたはインタフェースです。属性オブジェクトのカテゴリは、属性オブジェクトのクラスそのものではなく、属性オブジェクトのクラスのスーパー・クラスであることに注意してください。属性オブジェクトのカテゴリは、Attribute
インタフェースで定義されたgetCategory()
メソッドの呼出しによって決まります。
AttributeSetのインタフェースは、Javaコレクション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の実装の1つとして、クラスHashAttributeSet
が用意されています。クライアントは、HashAttributeSet
クラスを使用するか、または独自のAttributeSetインタフェースを実装します。Print Service APIにはインタフェースAttributeSetのサブインタフェースの実装も用意されています。クラスHashDocAttributeSet
、HashPrintRequestAttributeSet
、HashPrintJobAttributeSet
、および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()
このセットに含まれている属性の配列を返します。
|
Attribute get(Class<?> category)
category
- 関連付けられた属性値が返される属性カテゴリ。これは、Attribute
インタフェースを実装するClass
である必要があります。NullPointerException
- 非チェック例外。category
がnullの場合にスローされる。ClassCastException
- 非チェック例外。category
がAttribute
インタフェースを実装するClass
でない場合にスローされる。boolean add(Attribute attribute)
attribute
- この属性セットに追加される属性値。NullPointerException
- 非チェック例外。attribute
がnullの場合にスローされる。UnmodifiableSetException
- 非チェック例外。この属性セットがadd()
操作をサポートしていない場合にスローされる。boolean remove(Class<?> category)
category
がnullの場合、remove()
は何もせずにfalseを返します。category
- この属性セットから削除される属性カテゴリ。UnmodifiableSetException
- 非チェック例外。この属性セットがremove()
操作をサポートしていない場合にスローされる。boolean remove(Attribute attribute)
attribute
がnullの場合、remove()
は何もせずにfalseを返します。attribute
- この属性セットから削除される属性値。UnmodifiableSetException
- 非チェック例外。この属性セットがremove()
操作をサポートしていない場合にスローされる。boolean containsKey(Class<?> category)
category
- この属性セットにあるかどうかが調べられる。boolean containsValue(Attribute attribute)
attribute
- 属性セットにあるかどうかが調べられる属性値。boolean addAll(AttributeSet attributes)
add(Attribute)
操作が指定されたセットの各要素を持つ属性セットに連続的に適用された場合と同じです。指定されたセットがaddAll(AttributeSet)
操作の進行中に変更された場合、その操作の動作は指定されていません。
addAll(AttributeSet)
操作が例外をスローした場合、この属性セットの状態への影響は実装に依存します。例外が発生した時点の前に指定されたセットの要素は、この属性セットに追加される場合とされない場合があります。
attributes
- 要素がこの属性セットに追加される属性。UnmodifiableSetException
- 非チェック例外。この属性セットがaddAll(AttributeSet)メソッドをサポートしていない場合にスローされる。NullPointerException
- 非チェック例外。指定されたセットの一部の要素がnullの場合、スローされる。add(Attribute)
int size()
Attribute[] toArray()
void clear()
UnmodifiableSetException
- 非チェック例外。この属性セットがclear()
操作をサポートしていない場合にスローされる。boolean isEmpty()
boolean equals(Object object)
equals
、クラス: Object
object
- この属性セットと等しいかどうかが比較される。Object.hashCode()
, HashMap
int hashCode()
Object.hashCode()
の一般規約によって要求されるように、任意の2つの属性セットt1とt2についてt1.equals(t2)であればt1.hashCode()==t2.hashCode()となることが保証されます。hashCode
、クラス: Object
Object.equals(java.lang.Object)
, System.identityHashCode(java.lang.Object)
バグまたは機能を送信
詳細なAPIリファレンスおよび開発者ドキュメントについては、Java SEのドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright© 1993, 2014, Oracle and/or its affiliates. All rights reserved.