クラスIIORegistry


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

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

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

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

  • ネストされたクラスのサマリー

    クラスServiceRegistryで宣言されたネストされたクラス/インタフェース

    ServiceRegistry.Filter
    修飾子と型
    クラス
    説明
    static interface 
    任意の基準に一致するプロバイダを選択するためにServiceRegistry.getServiceProvidersで使用される単純なフィルタ・インタフェースです。
  • メソッドのサマリー

    修飾子と型
    メソッド
    説明
    イメージ入出力APIで使用されるデフォルトのIIORegistryインスタンスを返します。
    void
    アプリケーションのクラス・パスで検出されたすべての使用可能サービス・プロバイダを、デフォルトのClassLoaderを使用して登録します。

    クラスで宣言されたメソッド ServiceRegistry

    contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering
    修飾子と型
    メソッド
    説明
    boolean
    contains(Object provider)
    providerが現在登録されている場合、trueを返します。
    void
    現在登録されているすべてのサービス・プロバイダ・オブジェクトを、すべてのカテゴリから登録解除します。
    void
    deregisterAll(Class<?> category)
    現在指定されたカテゴリに登録されているサービス・プロバイダ・オブジェクトをすべて登録解除します。
    void
    サービス・プロバイダ・オブジェクトを、それを含むすべてのカテゴリから削除します。
    <T> boolean
    deregisterServiceProvider(T provider, Class<T> category)
    指定されたカテゴリからサービス・プロバイダ・オブジェクトを削除します。
    現在のカテゴリ・セットを示すClassオブジェクトのIteratorを返します。
    <T> T
    getServiceProviderByClass(Class<T> providerClass)
    現在登録されている、指定されたクラス型のプロバイダ・オブジェクトを返します。
    <T> Iterator<T>
    getServiceProviders(Class<T> category, boolean useOrdering)
    指定されたカテゴリ内の登録済みサービス・プロバイダをすべて含むIteratorを返します。
    <T> Iterator<T>
    getServiceProviders(Class<T> category, ServiceRegistry.Filter filter, boolean useOrdering)
    指定されたServiceRegistry.Filterオブジェクトのfilterメソッドで設定された基準を満たす、指定されたカテゴリ内のサービス・プロバイダ・オブジェクトを含むIteratorを返します。
    static <T> Iterator<T>
    lookupProviders(Class<T> providerClass)
    コンテキスト・クラス・ローダーを使用して、指定されたサービスの使用可能なプロバイダを検出して段階的にインスタンス化します。
    static <T> Iterator<T>
    lookupProviders(Class<T> providerClass, ClassLoader loader)
    指定されたクラス・ローダーを使用して特定のサービス・クラスの実装を検索します。
    void
    サービス・プロバイダ・オブジェクトをレジストリに追加します。
    <T> boolean
    registerServiceProvider(T provider, Class<T> category)
    サービス・プロバイダ・オブジェクトをレジストリに追加します。
    void
    Iteratorから取り込んだ一連のサービス・プロバイダ・オブジェクトをレジストリに追加します。
    <T> boolean
    setOrdering(Class<T> category, T firstProvider, T secondProvider)
    指定されたカテゴリの2つのサービス・プロバイダ・オブジェクト間のペアの順序を設定します。
    <T> boolean
    unsetOrdering(Class<T> category, T firstProvider, T secondProvider)
    指定されたカテゴリの2つのサービス・プロバイダ・オブジェクト間のペアの順序を設定します。

    クラスオブジェクトで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    修飾子と型
    メソッド
    説明
    protected Object
    このオブジェクトのコピーを作成して、返します。
    boolean
    このオブジェクトと他のオブジェクトが等しいかどうかを示します。
    protected void
    削除予定のため非推奨: このAPI要素は、将来のバージョンで削除される可能性があります。
    最終決定は非推奨であり、将来のリリースで削除される可能性があります。
    final Class<?>
    このObjectの実行時クラスを返します。
    int
    このオブジェクトに対するハッシュ・コード値を返します。
    final void
    このオブジェクトのモニターで待機中のスレッドを1つ再開します。
    final void
    このオブジェクトのモニターで待機中のすべてのスレッドを再開します。
    オブジェクトの文字列表現を返します。
    final void
    現在のスレッドが目覚めるまで待機します。通常、notifiedまたはinterruptedです。
    final void
    wait(long timeoutMillis)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
    final void
    wait(long timeoutMillis, int nanos)
    現在のスレッドは、通常、notifiedまたはinterruptedであるか、一定のリアルタイムが経過するまで、目覚めるまで待機します。
  • メソッドの詳細

    • getDefaultInstance

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

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