-
- 既知のすべてのサブインタフェース:
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のいくつかの場所で使用されます。 各コンテキストで属性セットに含めることができるのは特定の種類の属性のみですが、その判定は、属性クラスが実装しているタグ機能インタフェース(
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(Class<?> category)
属性セットからカテゴリの任意の属性を削除します(存在する場合)。boolean
remove(Attribute attribute)
属性セットから指定された属性を削除します(存在する場合)。int
size()
属性セット内の属性数を返します。Attribute[]
toArray()
このセットに含まれている属性の配列を返します。
-
-
-
メソッドの詳細
-
get
Attribute get(Class<?> category)
指定された属性カテゴリに格納される属性セットの属性値を返します。 この属性セットの指定された属性カテゴリに属性値が含まれていない場合は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の場合、スローされる。- 関連項目:
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()
メソッドが正しく動作することが保証されます。- オーバーライド:
equals
、クラス:Object
- パラメータ:
object
- この属性セットと等しいかどうかが比較される。- 戻り値:
- 指定されたオブジェクトがこの属性セットと等しい場合は
true
。 - 関連項目:
Object.hashCode()
、HashMap
-
hashCode
int hashCode()
属性セットのハッシュ・コード値を返します。 属性セットのハッシュ・コードは、AttributeSetの各エントリのハッシュ・コードの合計になるように定義されます。 これにより、Object.hashCode()
の一般規約によって要求されるように、任意の2つの属性セットt1
とt2
についてt1.equals(t2)
であればt1.hashCode()==t2.hashCode()
となることが保証されます。- オーバーライド:
hashCode
、クラス:Object
- 戻り値:
- 属性セットのハッシュ・コード値。
- 関連項目:
Object.equals(java.lang.Object)
,System.identityHashCode(java.lang.Object)
-
-