- java.lang.Object
-
- javax.imageio.spi.ServiceRegistry
-
- javax.imageio.spi.IIORegistry
-
public final class IIORegistry extends ServiceRegistry
サービス・プロバイダ・インスタンスのレジストリです。 サービス・プロバイダ・クラスは、実行時にこれらのクラスを含むJARファイル内のメタ情報を使用して検出できます。 目的は、比較的少ない負荷で、使用可能なサービス・プロバイダ・クラスすべてのロードおよび検査を行うことです。 その後、これらのクラスを使用して、実作業を実行する負荷の高いクラスの検出およびインスタンス化を実行します。この場合は、ImageReader
、ImageWriter
、ImageTranscoder
、ImageInputStream
、およびImageOutputStream
のインスタンスになります。 Javaプラットフォームから検出されたサービス・プロバイダは、このクラスがインスタンス化されるとすぐに自動的にロードされます。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ファイルの仕様」を参照してください。
-
-
ネストされたクラスのサマリー
-
クラス javax.imageio.spi.ServiceRegistryから継承されたネストされたクラス/インタフェース
ServiceRegistry.Filter
-
-
メソッドのサマリー
すべてのメソッド staticメソッド インスタンス・メソッド 具象メソッド 修飾子と型 メソッド 説明 static IIORegistry
getDefaultInstance()
イメージ入出力APIで使用されるデフォルトのIIORegistry
インスタンスを返します。void
registerApplicationClasspathSpis()
アプリケーションのクラス・パスで検出されたすべての使用可能サービス・プロバイダを、デフォルトのClassLoader
を使用して登録します。-
クラス java.lang.Objectから継承されたメソッド
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
クラス javax.imageio.spi.ServiceRegistryから継承されたメソッド
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering
-
-
-
-
メソッドの詳細
-
getDefaultInstance
public static IIORegistry getDefaultInstance()
イメージ入出力APIで使用されるデフォルトのIIORegistry
インスタンスを返します。 このインスタンスはすべてのレジストリ関数で使用されます。各
ThreadGroup
は独自のインスタンスを受け取ります。これにより、たとえば同じブラウザの別のApplet
がそれぞれ独自のレジストリを持つことができます。- 戻り値:
- 現在の
ThreadGroup
のデフォルト・レジストリ。
-
registerApplicationClasspathSpis
public void registerApplicationClasspathSpis()
アプリケーションのクラス・パスで検出されたすべての使用可能サービス・プロバイダを、デフォルトのClassLoader
を使用して登録します。 このメソッドは通常ImageIO.scanForPlugins
メソッドから呼び出されます。
-
-