目次||

属性のカテゴリと値

どのプリンタにも、様々な用紙サイズで印刷する機能や、複数の部数を印刷する機能などの一連の機能があります。それぞれの機能には値の範囲があります。たとえば、プリンタの印刷方向を指定する機能には、値の範囲[landscape, portrait]があります。印刷要求を送信するときは、値の範囲のいずれかを設定します。Java印刷サービスAPIでは、印刷方向など、プリンタ機能には「属性カテゴリ」という用語を使用します。また、「landscape」など、機能の値には「属性値」という用語を使用します。

Java印刷サービスAPIでは、属性カテゴリはAttributeインタフェースを実装するJavaクラスで表され、属性値はこのようなクラスまたはそのいずれかのサブクラスのインスタンスです。たとえば、特定のジョブを5部印刷する場合は、アプリケーション上でCopiesクラスのインスタンスを作成するときに値を5に設定し、このCopiesインスタンスを使用して印刷ジョブを指定します。Copiesクラスは属性カテゴリを表現し、Copiesインスタンスは属性値を表現します。属性値は、Javaオブジェクトとしてカプセル化されます。属性値は、属性カテゴリを暗黙的に示すため、通常は単に属性と呼ばれます。カテゴリと値は、キーと値のペアで構成されます。キーと値のペアは、他の属性とともに属性セットに追加できます。詳細は、「属性セット」を参照してください。

Attributeインタフェースは、getNameとgetCategoryの2つのメソッドのみを定義します。getNameメソッドは、属性カテゴリのString名を返します。getCategoryメソッドは、そのカテゴリを最初に実装するクラスを返します。特定のカテゴリのすべての実装が同じ名前とクラスを返すようにするために、サブクラスがgetNameまたはgetCategoryメソッドをオーバーライドしないようにしてください。

プリンタでサポートされている属性カテゴリと値を判定するには、PrintServiceインタフェースで定義されている照会メソッドを使用します。印刷要求では、対象のプリンタでサポートされているすべての属性カテゴリの属性値を指定する必要はありません。サポートされる各属性カテゴリには、デフォルト値が設定されています。たとえば、特定のプリンタのジョブ1つ当たりの最大印刷部数が999部であるとします。印刷要求に部数を指定しなかった場合は、デフォルトの1部だけが印刷されます。



目次||

Copyright © 1993, 2020, Oracle and/or its affiliates. All rights reserved.