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

クラスImageOutputStreamSpi

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

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

    このインタフェースを使用すると、任意のオブジェクトをImageOutputStreamのインスタンスで「ラップ」できるようになります。 たとえば、あるImageOutputStreamSpiはジェネリックOutputStreamを宛先として使用可能であり、別のものはFileまたはシリアル・ポートなどのデバイスへの出力が可能です。

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

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

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

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

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

      • outputClass

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

      • ImageOutputStreamSpi

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

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

      • getOutputClass

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

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

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

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

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

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

        public boolean needsCacheFile()
        このサービス・プロバイダに関連するImageOutputStream実装が、キャッシュFileを使用する必要がある場合、trueを返します。

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

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

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

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