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, 2014, Oracle and/or its affiliates. All rights reserved.