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