public abstract class PrintServiceLookup extends Object
複数の実装を同時にインストールできます。すべての実装が、検出されたプリンタを PrintService のインスタンスとして記述できなければいけません。通常、このサービスクラスの実装は、自動的に JAR ファイル内で検出されます (SPI JAR ファイル仕様を参照)。これらのクラスは、デフォルトコンストラクタを使用してインスタンス化可能である必要があります。別の方法として、実行時にアプリケーションがインスタンスを明示的に登録することも可能です。
アプリケーションは、この abstract クラスの static メソッドだけを使用します。インスタンスメソッドは、サービスプロバイダによりサブクラス内で実装されます。 また、インストール済みのルックアップクラスすべての結果の統合が、アプリケーションによる呼び出し時に、このクラスの static メソッドによりレポートされます。
信頼されないコードへのアクセスを拒否するため、PrintServiceLookup 実装者には SecurityManager.checkPrintJobAccess() を検査することをお勧めします。この推奨ポリシーに従うと、信頼されないコードがプリントサービスを一切検出できなくなります。ダウンロードされたアプレットは、信頼されないコードのもっとも一般的な例です。
この検査はルックアップサービス単位で実行されるため、異なるルックアップサービスのニーズをポリシーに柔軟に反映することが可能になります。
セキュリティーマネージャーがインストールされた状態で、checkPrintJobAccess() メソッドがアクセスを拒否する場合、registerService(PrintService) により登録されるサービスは、ルックアップの結果には含まれません。
コンストラクタと説明 |
---|
PrintServiceLookup() |
修飾子と型 | メソッドと説明 |
---|---|
abstract PrintService |
getDefaultPrintService()
アプリケーションから直接呼び出されることはありません。
|
abstract MultiDocPrintService[] |
getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
アプリケーションから直接呼び出されることはありません。
|
abstract PrintService[] |
getPrintServices()
アプリケーションから直接呼び出されることはありません。
|
abstract PrintService[] |
getPrintServices(DocFlavor flavor, AttributeSet attributes)
指定された属性と DocFlavor の組み合わせをサポートすることを明確に確認可能なサービスを検出します。
|
static PrintService |
lookupDefaultPrintService()
この環境のデフォルト印刷サービスを検出します。
|
static MultiDocPrintService[] |
lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
指定された doc フレーバすべてを含む MultiDoc を印刷可能な MultiDoc 印刷サービスを検出します。
|
static PrintService[] |
lookupPrintServices(DocFlavor flavor, AttributeSet attributes)
指定された
DocFlavor の印刷が可能な印刷サービスを検索します。 |
static boolean |
registerService(PrintService service)
印刷サービスを実装するクラスのインスタンスを、アプリケーションが直接登録することを可能にします。
|
static boolean |
registerServiceProvider(PrintServiceLookup sp)
アプリケーションが、ルックアップサービスを実装するクラスを明示的に登録することを可能にします。
|
public static final PrintService[] lookupPrintServices(DocFlavor flavor, AttributeSet attributes)
DocFlavor
の印刷が可能な印刷サービスを検索します。flavor
- 印刷するフレーバ。null の場合、この制約は使用されない。attributes
- 印刷サービスがサポートする必要のある属性。null の場合、この制約は使用されない。PrintService
オブジェクトの配列。一致するサービスが存在しない場合、配列の長さはゼロになる。public static final MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
このメソッドは、MultiDoc
を印刷可能なサービスの検出に有用です。MultiDoc 内では、要素のフレーバが異なってもかまいません。アプリケーションは、各 DocFlavor
に対して複数のルックアップを次々に実行し、結果を照合することで同じ処理を実行できますが、ルックアップサービスを使用するとより効率的に実行できます。
flavors
- 印刷するフレーバ。null または空の場合、この制約は使用されない。それ以外の場合、指定された doc フレーバをすべて印刷可能な multidoc 印刷サービスだけが返されるattributes
- 印刷サービスがサポートする必要のある属性。null の場合、この制約は使用されない。MultiDocPrintService
オブジェクトの配列。一致するサービスが存在しない場合、配列の長さはゼロになる。public static final PrintService lookupDefaultPrintService()
これには、Java またはネイティブプラットフォームの一部として利用可能な設定 API のどれかを活用することが含まれます。このアルゴリズムは、javax.print.defaultPrinter プロパティーを設定するユーザーによる上書きが可能です。 指定されたサービスが有効なサービスとして検出され、かつデフォルトとして返すことができなければいけません。
public static boolean registerServiceProvider(PrintServiceLookup sp)
sp
- ルックアップサービスの実装。true
、そうでない場合は false
。public static boolean registerService(PrintService service)
PrintServiceLookup
インスタンスを登録することをお勧めします。このサービスが以前に登録されていない状態で、登録に成功する場合、メソッドは true を返します。このメソッドは、StreamPrintService インスタンスを使用して呼び出してはいけません。StreamPrintService インスタンスを使用して呼び出しを行うと、登録は常に失敗し、メソッドは false を返します。service
-印刷サービスの実装。true
、そうでない場合は false
。public abstract PrintService[] getPrintServices(DocFlavor flavor, AttributeSet attributes)
サービスプロバイダにより実装され、このクラスの static メソッドにより使用されます。
結果は、すべての PrintService を取得して、指定された属性およびフレーバのサポートを個別に照会する場合と同じになります。ただし、印刷サービスのルックアップサービス機能を活用する方が、より効率的な処理が可能になります。
flavor
- 必須ドキュメントのフレーバ。null の場合、これは無視されるattributes
- サポートされる必要のある属性。null の場合、この制約は使用されない。public abstract PrintService[] getPrintServices()
public abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors, AttributeSet attributes)
サービスプロバイダにより実装され、このクラスの static メソッドにより使用されます。
指定された属性と DocFlavor の組み合わせをサポートすることを明確に確認可能な、MultiDoc 印刷サービスを検出します。
flavors
- 必須ドキュメントのフレーバ。null または空の場合、これは無視される。attributes
- サポートされる必要のある属性。null の場合、この制約は使用されない。public abstract PrintService getDefaultPrintService()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.