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

クラスImageInputStreamSpi

  • すべての実装されたインタフェース:
    RegisterableService

    public abstract class ImageInputStreamSpi
    extends IIOServiceProvider
    ImageInputStreamのサービス・プロバイダ・インタフェース(SPI)です。 サービス・プロバイダ・インタフェースの詳細は、IIORegistryクラスのクラス・コメントを参照してください。

    このインタフェースを使用すると、任意のオブジェクトをImageInputStreamのインスタンスで「ラップ」できるようになります。 たとえば、あるImageInputStreamSpiはジェネリックInputStreamを入力ソースとして使用でき、別のものはURLからの入力が可能です。

    ImageInputStreamの作成をプラガブルなサービスとして扱うことにより、APIを変更せずに将来の入力ソースに対処することが可能になります。 また、特定プラットフォームのネイティブ実装など、パフォーマンスに優れたImageInputStream実装をインストールして、アプリケーションで透過的に使用できます。

    関連項目:
    IIORegistry, ImageInputStream
    • フィールドのサマリー

      フィールド 
      修飾子と型 フィールド 説明
      protected Class<?> inputClass
      createInputStreamInstanceメソッドで使用される正当なオブジェクト型を示すClassオブジェクトです。
    • コンストラクタのサマリー

      コンストラクタ 
      修飾子 コンストラクタ 説明
      protected ImageInputStreamSpi()
      空白のImageInputStreamSpiを構築します。
        ImageInputStreamSpi​(String vendorName, String version, Class<?> inputClass)
      指定された値セットを使用してImageInputStreamSpiを構築します。
    • メソッドのサマリー

      修飾子と型 メソッド 説明
      boolean canUseCacheFile()
      このサービス・プロバイダに関連するImageInputStream実装が、パフォーマンスやメモリー消費を改善するためにキャッシュ・ファイルを必要に応じて使用できる場合、trueを返します。
      ImageInputStream createInputStreamInstance​(Object input)
      このサービス・プロバイダに関連するImageInputStream実装のインスタンスを返します。
      abstract ImageInputStream createInputStreamInstance​(Object input, boolean useCache, File cacheDir)
      このサービス・プロバイダに関連するImageInputStream実装のインスタンスを返します。
      Class<?> getInputClass()
      createInputStreamInstanceメソッドを使用してImageInputStream内に「ラップ」するため、入力ソースが実装する必要のあるクラスまたはインタフェースの型を表すClassオブジェクトを返します。
      boolean needsCacheFile()
      このサービス・プロバイダに関連するImageInputStream実装が、キャッシュFileを使用する必要がある場合、trueを返します。
    • フィールドの詳細

      • inputClass

        protected Class<?> inputClass
        createInputStreamInstanceメソッドで使用される正当なオブジェクト型を示すClassオブジェクトです。
    • コンストラクタの詳細

      • ImageInputStreamSpi

        protected ImageInputStreamSpi()
        空白のImageInputStreamSpiを構築します。 すべてのメソッドの作業バージョンを提供するための、インスタンス変数の初期化やメソッド実装のオーバーライドは、サブクラスで行う必要があります。
      • ImageInputStreamSpi

        public ImageInputStreamSpi​(String vendorName,
                                   String version,
                                   Class<?> inputClass)
        指定された値セットを使用してImageInputStreamSpiを構築します。
        パラメータ:
        vendorName - ベンダー名。
        version - バージョン識別子。
        inputClass - createInputStreamInstanceメソッドで使用される正当なオブジェクト型を示すClassオブジェクト。
        例外:
        IllegalArgumentException - vendorNamenullの場合。
        IllegalArgumentException - versionnullの場合。
    • メソッドの詳細

      • getInputClass

        public Class<?> getInputClass()
        createInputStreamInstanceメソッドを使用してImageInputStream内に「ラップ」するため、入力ソースが実装する必要のあるクラスまたはインタフェースの型を表すClassオブジェクトを返します。

        戻り値には通常InputStream.classURL.classが含まれますが、任意のクラスを使用できます。

        戻り値:
        Class変数。
        関連項目:
        createInputStreamInstance(Object, boolean, File)
      • canUseCacheFile

        public boolean canUseCacheFile()
        このサービス・プロバイダに関連するImageInputStream実装が、パフォーマンスやメモリー消費を改善するためにキャッシュ・ファイルを必要に応じて使用できる場合、trueを返します。 falseの場合、createInputStreamInstanceの引数useCacheの値は無視されます。

        デフォルトの実装ではfalseを返します。

        戻り値:
        このサービス・プロバイダで作成される入力ストリームでキャッシュ・ファイルを使用可能な場合はtrue
      • needsCacheFile

        public boolean needsCacheFile()
        このサービス・プロバイダに関連するImageInputStream実装が、キャッシュFileを使用する必要がある場合、trueを返します。 trueの場合、createInputStreamInstanceの引数useCacheの値は無視されます。

        デフォルトの実装ではfalseを返します。

        戻り値:
        このサービス・プロバイダにより作成される入力ストリームがキャッシュ・ファイルを必要とする場合はtrue
      • createInputStreamInstance

        public abstract ImageInputStream createInputStreamInstance​(Object input,
                                                                   boolean useCache,
                                                                   File cacheDir)
                                                            throws IOException
        このサービス・プロバイダに関連するImageInputStream実装のインスタンスを返します。 キャッシュ・ファイルの使用がオプションの場合、useCacheパラメータが参照されます。 キャッシュが必須、または適用できない場合は、useCacheの値は無視されます。
        パラメータ:
        input - getInputClassから返されるクラス型のオブジェクト。
        useCache - オプションとなっている場合に、キャッシュ・ファイルが使用できるかどうかを示すboolean
        cacheDir - キャッシュ・ファイルが作成される場所を示すFile。システム・ディレクトリを使用する場合はnull
        戻り値:
        ImageInputStreamインスタンス。
        例外:
        IllegalArgumentException - inputが適正なクラスのインスタンスでないか、nullの場合。
        IllegalArgumentException - キャッシュ・ファイルが必要であるが、cacheDirnullではなく、ディレクトリでもない場合。
        IOException - キャッシュ・ファイルが必要であるが作成できない場合。
        関連項目:
        getInputClass(), canUseCacheFile(), needsCacheFile()
      • createInputStreamInstance

        public ImageInputStream createInputStreamInstance​(Object input)
                                                   throws IOException
        このサービス・プロバイダに関連するImageInputStream実装のインスタンスを返します。 必要に応じて、キャッシュ・ファイルがシステム固有のデフォルト一時ファイル・ディレクトリに作成されます。
        パラメータ:
        input - getInputClassから返されるクラス型のオブジェクト。
        戻り値:
        ImageInputStreamインスタンス。
        例外:
        IllegalArgumentException - inputが適正なクラスのインスタンスでないか、nullの場合。
        IOException - キャッシュ・ファイルが必要であるが作成できない場合。
        関連項目:
        getInputClass()