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

クラスIIORegistry


  • public final class IIORegistry
    extends ServiceRegistry
    イメージ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)