モジュール java.desktop
パッケージ 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 Collections APIのjava.util.Mapインタフェースのインタフェースに似ていますが、受け入れられるタイプにはより制限があり、キーと値をAttributeに結合します。

属性セットは、Print Service APIのいくつかの場所で使用されます。 各コンテキストで属性セットに含めることができるのは特定の種類の属性のみですが、その判定は、属性クラスが実装しているタグ機能インタフェース(DocAttributePrintRequestAttributePrintJobAttribute、およびPrintServiceAttribute)に基づいて行われます。 これら4種類の属性のうちの1種類のみを含むように制限された特殊化された属性セットが4つ存在します。それぞれDocAttributeSetPrintRequestAttributeSetPrintJobAttributeSet、およびPrintServiceAttributeSetです。 多くの属性クラスは、複数のタグ機能インタフェースを実装するため、複数のコンテキストで表示されることに注意してください。

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

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