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

クラスImageOutputStreamSpi

java.lang.Object
javax.imageio.spi.IIOServiceProvider
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オブジェクトです。

    クラス javax.imageio.spi.IIOServiceProviderで宣言されたフィールド

    vendorName, version
  • コンストラクタのサマリー

    コンストラクタ
    修飾子 コンストラクタ 説明
    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を返します。

    クラス javax.imageio.spi.IIOServiceProviderで宣言されたメソッド

    getDescription, getVendorName, getVersion, onDeregistration, onRegistration

    クラス java.lang.Objectで宣言されたメソッド

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • フィールド詳細

    • outputClass

      protected クラス<?> 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()