目次||

属性セット

通常、クライアントは、印刷ジョブの送信の際に複数の処理命令を提供する必要があります。 たとえば、A4媒体を使用し、横方向に印刷することを指定します。 複数の処理命令をプリンタに送信するために、クライアントは命令を表す属性を属性セットに収集します。この属性セットは、Java Print Service APIがAttributeSetインタフェースで表します。

AttributeSetインタフェースは、java.util.Mapインタフェースに似ています: キーと値のマップを提供します。各キーは一意であり、複数の値を含めることはできません。 ただし、AttributeSetインタフェースは、Java Print Service APIの要件に対応するためのインタフェースです。 AttributeSetの要件は次のとおりです。

Likeは単一の属性で、属性セットにはロールがあります。 ロールは、AttributeSetサブインタフェースによって定義されます。このサブインタフェースは、属性ロールセクションに記載されているAttributeサブインタフェースをパラレル化します。 AttributeSetサブインタフェースは次のとおりです: PrintRequestAttributeSet, PrintJobAttributeSet, DocAttributeSetおよびPrintServiceAttributeSet 属性セットの役割によって、構成される属性の種類が決まります。たとえば、印刷要求の属性セットを、印刷要求の属性だけで構成できます。

The Java Print Service APIには、AttributeSetインタフェースの具体的な実装としてHashAttributeSetが含まれていますが、開発者は独自の実装を提供できます。 HashAttributeSetを直接使用するのではなく、アプリケーションはHashAttributeSetのサブクラスの1つを使用: HashPrintRequestAttributeSet, HashPrintJobAttributeSet, HashDocumentAttributeSetおよびHashPrintServiceAttributeSet これらのサブクラスは、対応するAttributeSetサブインタフェースを実装します。 たとえば、PrintRequestAttributeSetAttributeSetを拡張し、HashPrintRequestAttributeSetPrintRequestAttributeSetの具体的な実装です。 HashPrintRequestAttributeSetまたはPrintRequestAttributeSetの実装で作成された属性セットには、リクエスト属性のみを含めることができます。

サブクラスとは異なり、HashAttributeSetには任意の種類の属性を含めることができます。 アプリケーションは、複数の種類の属性を含むセットが必要な場合に、HashAttributeSetを直接使用します。 1つの例は、PrintServicegetUnsupportedAttributesメソッドによって返されるセットです。 サポートされない属性が返されたときに、その属性は複数の属性機能に属している可能性があります。

印刷要求の指定は印刷アプリケーションの主要な機能であるため、単一の属性と同様に、多くのアプリケーションは要求属性セットを作成します。 リクエスト属性セットを作成するには、HashPrintRequestAttributeSetクラスのコンストラクタの1つを使用します:

 PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet(); 
次の項では、セットに追加できる、より一般的に使用される属性の一部について説明します。

目次||

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