public final class IIORegistry extends ServiceRegistry
ImageReader
、ImageWriter
、ImageTranscoder
、ImageInputStream
、および ImageOutputStream
のインスタンスになります。
システムのクラスパス (たとえば、Sun の JDK 実装では jre/lib/ext
ディレクトリ) で検出されたサービスプロバイダが、このクラスがインスタンス化されるとすぐに自動的にロードされます。
registerApplicationClasspathSpis
メソッドが呼び出されると、アプリケーションのクラスパスの JAR ファイルのメタ情報セクションで宣言されたサービスプロバイダインスタンスがロードされます。サービスプロバイダを宣言するために、services
サブディレクトリが各 JAR ファイルに存在する META-INF
ディレクトリ内に配置されます。このディレクトリには、JAR ファイルに 1 つまたは複数の実装クラスを保持する各サービスプロバイダインタフェースに対して 1 つのファイルが含まれます。たとえば、JAR ファイルに ImageReaderSpi
インタフェースを実装する com.mycompany.imageio.MyFormatReaderSpi
というクラスが含まれる場合、JAR には次の名前のファイルが含まれます。
META-INF/services/javax.imageio.spi.ImageReaderSpiまた、次の行が含まれます。
com.mycompany.imageio.MyFormatReaderSpi
サービスプロバイダクラスの特性は、軽量で迅速なロードが可能であることです。これらのインタフェースの実装は、ほかのクラスやネイティブコードに複雑に依存しないようにする必要があります。
自動的に検出されないサービスプロバイダを手動で追加することも、ServiceRegistry
クラスのインタフェースを使用するサービスプロバイダを削除することもできます。したがって、アプリケーションでレジストリの内容を必要に応じてカスタマイズできます。
サービスプロバイダ宣言の詳細および JAR 形式全般については、「JAR ファイルの仕様」を参照してください。
ServiceRegistry.Filter
修飾子と型 | メソッドと説明 |
---|---|
static IIORegistry |
getDefaultInstance()
イメージ入出力 API で使用されるデフォルトの
IIORegistry インスタンスを返します。 |
void |
registerApplicationClasspathSpis()
アプリケーションのクラスパスで検出されたすべての使用可能サービスプロバイダを、デフォルトの
ClassLoader を使用して登録します。 |
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering
public static IIORegistry getDefaultInstance()
IIORegistry
インスタンスを返します。このインスタンスはすべてのレジストリ関数で使用されます。
各 ThreadGroup
は独自のインスタンスを受け取ります。これにより、たとえば同じブラウザの別の Applet
がそれぞれ独自のレジストリを持つことができます。
ThreadGroup
のデフォルトレジストリ。public void registerApplicationClasspathSpis()
ClassLoader
を使用して登録します。このメソッドは通常 ImageIO.scanForPlugins
メソッドから呼び出されます。 バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.