目次 | 前の項目 | 次の項目 | JavaTM 印刷サービス API ユーザガイド |
各プリンタには、さまざまな用紙サイズで印刷したり印刷部数を指定するなど、さまざまな機能が付属しています。これらの機能に指定する値には、それぞれ一定の範囲があります。たとえば、プリンタの印刷方向を指定する機能には、「landscape」または「portrait」を指定します。印刷要求を送信するときは、値の範囲のいずれかを設定します。Java 印刷サービス API では、印刷方向など、プリンタ機能には「属性カテゴリ」という用語を使用します。また、「landscape」など、機能の値には「属性値」という用語を使用します。Java 印刷サービス API では、属性カテゴリは Attribute インタフェースを実装している Java クラスを表現し、属性値はそれらの Java クラスまたはそのサブクラスのインスタンスを表します。たとえば、特定のジョブを 5 部印刷する場合は、アプリケーション上で Copies クラスのインスタンスを作成するときに値を 5 に設定し、この Copies インスタンスを使用して印刷ジョブを指定します。Copies クラスは属性カテゴリを表現し、Copies インスタンスは属性値を表現します。属性値は、Java オブジェクトとしてカプセル化されます。属性値は、属性カテゴリを暗黙的に示すため、通常は属性と呼ばれます。カテゴリと値は、キーと値のペアで構成されます。キーと値のペアは、他の属性とともに属性セットに追加できます。詳細については、「属性セット」を参照してください。
Attribute インタフェースには、getName および getCategory の 2 つのメソッドだけを定義します。getName メソッドは、属性カテゴリの String 名を返します。getCategory メソッドは、そのカテゴリを最初に実装するクラスを返します。特定のカテゴリのすべての実装が同じ名前とクラスを返すようにするために、サブクラスが getName または getCategory メソッドをオーバーライドしないようにしてください。
特定のプリンタでサポートされる属性カテゴリと値を調べるには、PrintService インタフェースに定義されている照会メソッドを使用します。印刷要求には、目的のプリンタでサポートされるすべての属性カテゴリの属性値を指定する必要はありません。サポートされる各属性カテゴリには、デフォルト値が設定されています。たとえば、特定のプリンタの最大印刷部数が 999 部であるとします。印刷要求に部数を指定しなかった場合は、デフォルトの 1 部だけが印刷されます。