public abstract class ImageOutputStreamSpi extends IIOServiceProvider
ImageOutputStream
のサービスプロバイダインタフェース (SPI) です。サービスプロバイダインタフェースの詳細は、IIORegistry
クラスのクラスコメントを参照してください。
このインタフェースを使用すると、任意のオブジェクトを ImageOutputStream
のインスタンスで「ラップ」できるようになります。たとえば、ある ImageOutputStreamSpi
はジェネリック OutputStream
を宛先として使用可能であり、別のものは File
またはシリアルポートなどのデバイスへの出力が可能です。
ImageOutputStream
の作成をプラグイン可能なサービスとして扱うことにより、API を変更せずに将来の出力先に対応することが可能になります。また、特定プラットフォームのネイティブ実装など、パフォーマンスに優れた ImageOutputStream
実装をインストールして、アプリケーションで透過的に使用できます。
IIORegistry
, ImageOutputStream
修飾子と型 | フィールドと説明 |
---|---|
protected Class<?> |
outputClass
createInputStreamInstance メソッドで使用される正当なオブジェクト型を示す Class オブジェクトです。 |
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 を返します。 |
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
protected Class<?> outputClass
createInputStreamInstance
メソッドで使用される正当なオブジェクト型を示す Class
オブジェクトです。protected ImageOutputStreamSpi()
ImageOutputStreamSpi
を構築します。すべてのメソッドの作業バージョンを提供するための、インスタンス変数の初期化やメソッド実装のオーバーライドは、サブクラスで行う必要があります。public ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass)
ImageOutputStreamSpi
を構築します。vendorName
- ベンダー名。version
- バージョン識別子。outputClass
- createOutputStreamInstance
メソッドで使用される正当なオブジェクト型を示す Class
オブジェクト。IllegalArgumentException
- vendorName
が null
の場合。IllegalArgumentException
- version
が null
の場合。public Class<?> getOutputClass()
createOutputStreamInstance
メソッドを使用して ImageOutputStream
に「ラップ」するため、出力先が実装する必要のあるクラスまたはインタフェースの型を表す Class
オブジェクトを返します。
戻り値には通常 OutputStream.class
か File.class
が含まれますが、任意のクラスを使用できます。
Class
変数。createOutputStreamInstance(Object, boolean, File)
public boolean canUseCacheFile()
ImageOutputStream
実装が、パフォーマンスやメモリー消費を改善するために必要に応じてキャッシュ File
を使用できる場合、true
を返します。false
の場合、createOutputStreamInstance
の引数 cacheFile
の値は無視されます。
デフォルトの実装では false
を返します。
true
。public boolean needsCacheFile()
ImageOutputStream
実装が、キャッシュ File
を使用する必要がある場合、true
を返します。
デフォルトの実装では false
を返します。
true
。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
- キャッシュファイルが必要であるが、cacheDir
が null
ではなく、ディレクトリでもない場合。IOException
- キャッシュファイルが必要であるが作成できない場合getOutputClass()
public ImageOutputStream createOutputStreamInstance(Object output) throws IOException
ImageOutputStream
実装のインスタンスを返します。必要に応じて、キャッシュファイルがシステム固有のデフォルト一時ファイルディレクトリに作成されます。output
- getOutputClass
から返されるクラス型のオブジェクト。ImageOutputStream
インスタンス。IllegalArgumentException
- output
が適正なクラスのインスタンスでないか、null
の場合。IOException
- キャッシュファイルが必要であるが作成できない場合getOutputClass()
バグまたは機能を送信
詳細な API リファレンスおよび開発者ドキュメントについては、Java SE のドキュメントを参照してください。そのドキュメントには、概念的な概要、用語の定義、回避方法、有効なコード例などの、開発者を対象にしたより詳細な説明が含まれています。
Copyright © 1993, 2013, Oracle and/or its affiliates. All rights reserved.