JavaTM 2 Platform
Standard Ed. 5.0

javax.print
クラス PrintServiceLookup

java.lang.Object
  上位を拡張 javax.print.PrintServiceLookup

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)
          アプリケーションが、ルックアップサービスを実装するクラスを明示的に登録することを可能にします。
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

PrintServiceLookup

public PrintServiceLookup()
メソッドの詳細

lookupPrintServices

public static final PrintService[] lookupPrintServices(DocFlavor flavor,
                                                       AttributeSet attributes)
指定された DocFlavor の印刷が可能な印刷サービスを検出します。

パラメータ:
flavor - 印刷するフレーバ。null の場合、この制約は使用されない
attributes - 印刷サービスがサポートする必要のある属性。null の場合、この制約は使用されない
戻り値:
指定されたフレーバ属性をサポートする印刷サービスを表す、一致する PrintService オブジェクトの配列。一致するサービスが存在しない場合、配列の長さはゼロになる

lookupMultiDocPrintServices

public static final MultiDocPrintService[] lookupMultiDocPrintServices(DocFlavor[] flavors,
                                                                       AttributeSet attributes)
指定された doc フレーバすべてを含む MultiDoc を印刷可能な MultiDoc 印刷サービスを検出します。

このメソッドは、MultiDoc を印刷可能なサービスの検出に有用です。MultiDoc 内では、要素のフレーバが異なってもかまいません。アプリケーションは、各 DocFlavor に対して複数のルックアップを次々に実行し、結果を照合することで同じ処理を実行できますが、ルックアップサービスを使用するとより効率的に実行できます。

パラメータ:
flavors - 印刷するフレーバ。null または空の場合、この制約は使用されない。それ以外の場合、指定された doc フレーバをすべて印刷可能な multidoc 印刷サービスだけが返される
attributes - 印刷サービスがサポートする必要のある属性。null の場合、この制約は使用されない
戻り値:
一致する MultiDocPrintService オブジェクトの配列。一致するサービスが存在しない場合、配列の長さはゼロになる

lookupDefaultPrintService

public static final PrintService lookupDefaultPrintService()
この環境のデフォルト印刷サービスを検出します。null が返される場合もあります。複数のルックアップサービスそれぞれでデフォルトが指定されている場合、選択されたサービスは厳密には定義されませんが、インストール済みのサービスではなく、プラットフォームネイティブのサービスがデフォルトとして返されます。明確に識別可能なプラットフォームネイティブのデフォルト印刷サービスが存在しない場合、実装固有の方法で最初に検出されたサービスがデフォルトになります。

これには、Java またはネイティブプラットフォームの一部として利用可能な設定 API のどれかを活用することが含まれます。このアルゴリズムは、javax.print.defaultPrinter プロパティを設定するユーザによる上書きが可能です。指定されたサービスが有効なサービスとして検出され、かつデフォルトとして返すことができなければなりません。

戻り値:
デフォルトの PrintService

registerServiceProvider

public static boolean registerServiceProvider(PrintServiceLookup sp)
アプリケーションが、ルックアップサービスを実装するクラスを明示的に登録することを可能にします。登録は、複数の VM 呼び出しで持続するものではありません。インストールの一部ではないサービスをアプリケーションが新たに利用可能にする場合に役立ちます。ルックアップサービスが登録済みか、登録不可能な場合、メソッドは false を返します。

パラメータ:
sp - ルックアップサービスの実装
戻り値:
新規ルックアップサービスを新たに登録する場合は true、そうでない場合は false

registerService

public static boolean registerService(PrintService service)
印刷サービスを実装するクラスのインスタンスを、アプリケーションが直接登録することを可能にします。このサービスのルックアップ操作は、PrintServiceLookup クラスにより、サービスが報告する属性値およびクラスを使用して実行されます。これは、そのサービス用に調整されたルックアップサービスほど効率的ではない場合があります。このため、PrintServiceLookup インスタンスを登録することをお勧めします。このサービスが以前に登録されていない状態で、登録に成功する場合、メソッドは true を返します。このメソッドは、StreamPrintService インスタンスを使用して呼び出してはなりません。StreamPrintService インスタンスを使用して呼び出しを行うと、登録は常に失敗し、メソッドは false を返します。

パラメータ:
service - 印刷サービスの実装
戻り値:
サービスを新規登録する場合は true、そうでない場合は false

getPrintServices

public abstract PrintService[] getPrintServices(DocFlavor flavor,
                                                AttributeSet attributes)
指定された属性と DocFlavor の組み合わせをサポートすることを明確に確認可能なサービスを検出します。このメソッドが、アプリケーションから直接呼び出されることはありません。

サービスプロバイダにより実装され、このクラスの static メソッドにより使用されます。

結果は、すべての PrintService を取得して、指定された属性およびフレーバのサポートを個別に照会する場合と同じになります。ただし、印刷サービスのルックアップサービス機能を活用する方が、より効率的な処理が可能になります。

パラメータ:
flavor - 必須ドキュメントのフレーバ。null の場合、これは無視される
attributes - サポートに必要な属性。null の場合、この制約は使用されない
戻り値:
一致する PrintService の配列。一致するサービスが存在しない場合、配列の長さはゼロになる

getPrintServices

public abstract PrintService[] getPrintServices()
アプリケーションから直接呼び出されることはありません。サービスプロバイダにより実装され、このクラスの static メソッドにより使用されます。

戻り値:
このルックアップサービスクラスが認識している PrintService すべての配列。認識済みの PrintService が存在しない場合、配列の長さはゼロになる

getMultiDocPrintServices

public abstract MultiDocPrintService[] getMultiDocPrintServices(DocFlavor[] flavors,
                                                                AttributeSet attributes)
アプリケーションから直接呼び出されることはありません。

サービスプロバイダにより実装され、このクラスの static メソッドにより使用されます。

指定された属性と DocFlavor の組み合わせをサポートすることを明確に確認可能な、MultiDoc 印刷サービスを検出します。

パラメータ:
flavors - 必須ドキュメントのフレーバ。null または空の場合、これは無視される
attributes - サポートに必要な属性。null の場合、この制約は使用されない
戻り値:
一致する PrintService の配列。一致するサービスが存在しない場合、配列の長さはゼロになる

getDefaultPrintService

public abstract PrintService getDefaultPrintService()
アプリケーションにより直接呼び出されることはありません。サービスプロバイダがこれを実装し、印刷ルックアップサービスが呼び出します。

戻り値:
このルックアップサービスのデフォルト PrintService。デフォルトが存在しない場合、null が返される

JavaTM 2 Platform
Standard Ed. 5.0

バグの報告と機能のリクエスト
さらに詳しい API リファレンスおよび開発者ドキュメントについては、Java 2 SDK SE 開発者用ドキュメントを参照してください。開発者向けの詳細な解説、概念の概要、用語の定義、バグの回避策、およびコード実例が含まれています。

Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。