モジュール java.desktop
パッケージ javax.imageio.spi

クラスIIORegistry


public final class IIORegistry
extends ServiceRegistry
Image I/Oサービス・プロバイダ・インスタンス用のレジストリ。 サービス・プロバイダ・クラスは、ServiceLoaderに記載されているメカニズムによって、実行時に発見される可能性があります。 その目的は、使用可能なすべてのImage I/Oサービス・プロバイダ・クラスをロードして検査することは比較的安価です。 これらのクラスを使用して、実際の作業を実行するより多くの重量クラス、この場合はImageReaderImageWriterImageTranscoderImageInputStream、およびImageOutputStreamの位置を特定し、インスタンス化することができます。 Javaランタイムに含まれるサービス・プロバイダは、このクラスがインスタンス化されるとすぐに自動的にロードされます。

registerApplicationClasspathSpisメソッドが呼び出されると、追加のサービス・プロバイダ・インスタンスがServiceLoaderを使用して検出されます。

自動的に検出されないサービス・プロバイダを手動で追加することも、ServiceRegistryクラスのインタフェースを使用するサービス・プロバイダを削除することもできます。 したがって、アプリケーションでレジストリの内容を必要に応じてカスタマイズできます。

サービス・プロバイダの作成方法とデプロイ方法については、ServiceLoaderのドキュメントを参照してください。

  • メソッドの詳細

    • getDefaultInstance

      public static IIORegistry getDefaultInstance()
      イメージ入出力APIで使用されるデフォルトのIIORegistryインスタンスを返します。 このインスタンスはすべてのレジストリ関数で使用されます。

      ThreadGroupは独自のインスタンスを受け取ります。これにより、たとえば同じブラウザの別のAppletがそれぞれ独自のレジストリを持つことができます。

      戻り値:
      現在のThreadGroupのデフォルト・レジストリ。
    • registerApplicationClasspathSpis

      public void registerApplicationClasspathSpis()
      アプリケーションのクラス・パスで検出されたすべての使用可能サービス・プロバイダを、デフォルトのClassLoaderを使用して登録します。 このメソッドは通常ImageIO.scanForPluginsメソッドから呼び出されます。
      関連項目:
      ImageIO.scanForPlugins(), ClassLoader.getResources(java.lang.String)