- すべての実装されたインタフェース:
- RegisterableService
ImageReaderのサービス・プロバイダ・インタフェース(SPI)です。 サービス・プロバイダ・クラスの詳細は、IIORegistryクラスのクラス・コメントを参照してください。 
  各ImageReaderSpiは、関連するImageReaderクラスに関する複数の情報タイプを提供します。
 
 SPIクラスを定義するベンダー名とクラスの簡潔な説明は、getVendorName、getDescription、およびgetVersionメソッドで取得できます。 これらのメソッドは、国際化してロケール固有の出力を行うことが可能です。 これらのメソッドの主な目的は、ポップアップ・メニューなどのリスト編成に使用可能で、簡潔かつ判読可能な情報を提供することです。 
 
 サービスに関連する形式名、ファイル接尾辞、およびMIMEタイプのリストは、それぞれgetFormatNames、getFileSuffixes、およびgetMIMETypesメソッドで取得できます。 これらのメソッドは、手動の形式選択、ファイルの命名、またはMIME関連付け(たとえば、HTTP経由または電子メール添付のファイル・アクセス)に基づき特定のファイルまたはストリームをデコードする際、候補となるImageReaderの識別に使用できます。 
 
 特定のデータ・ストリームを構文解析できる可能性の高いImageReaderを判定するための、より信頼性の高い手段がcanDecodeInputメソッドに用意されています。 サービス・プロバイダは、このメソッドを使用して実際のストリーム内容を検証できます。 
 
 このサービス・プロバイダに関連するImageReaderクラスのインスタンスは、createReaderInstanceメソッドを呼び出すことで取得できます。 ネイティブ・ライブラリのロードや大規模な表作成などの負荷の高い初期化は、少なくともこのメソッドが最初に呼び出されるまで延期する必要があります。 
- 関連項目:
- IIORegistry,- ImageReader
- 
フィールドのサマリーフィールド修飾子と型フィールド説明protected Class<?>[]getInputTypesから返されるClassオブジェクトの配列で、最初はnullです。static Class<?>[]非推奨。protected String[]getImageWriterSpiNamesから返される文字列の配列で、最初はnullです。クラス javax.imageio.spi.ImageReaderWriterSpiで宣言されたフィールドextraImageMetadataFormatClassNames, extraImageMetadataFormatNames, extraStreamMetadataFormatClassNames, extraStreamMetadataFormatNames, MIMETypes, names, nativeImageMetadataFormatClassName, nativeImageMetadataFormatName, nativeStreamMetadataFormatClassName, nativeStreamMetadataFormatName, pluginClassName, suffixes, supportsStandardImageMetadataFormat, supportsStandardStreamMetadataFormatクラス javax.imageio.spi.IIOServiceProviderで宣言されたフィールドvendorName, version
- 
コンストラクタのサマリーコンストラクタ修飾子コンストラクタ説明protected空白のImageReaderSpiを構築します。ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String readerClassName, Class<?>[] inputTypes, String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)指定された値セットを使用してImageReaderSpiを構築します。
- 
メソッドのサマリー修飾子と型メソッド説明abstract booleancanDecodeInput(Object source)指定されたソース・オブジェクトがこのリーダーでサポートされる形式であると見なされる場合にtrueを返します。このサービス・プロバイダに関連するImageReader実装のインスタンスを返します。abstract ImageReadercreateReaderInstance(Object extension)このサービス・プロバイダに関連するImageReader実装のインスタンスを返します。String[]このサービス・プロバイダに関連するImageReaderが使用する内部メタデータ表現を認識可能なImageWriterSpiクラスすべての完全修飾名を含むString配列を返します。この種のImageWriterが指定されていない場合はnullを返します。Class<?>[]リーダーのsetInputメソッドの引数に使用可能なオブジェクトの型を示すClassオブジェクトの配列を返します。booleanisOwnReader(ImageReader reader)渡されたImageReaderオブジェクトがこのサービス・プロバイダに関連するImageReaderのインスタンスの場合は、trueを返します。クラス javax.imageio.spi.ImageReaderWriterSpiで宣言されたメソッドgetExtraImageMetadataFormatNames, getExtraStreamMetadataFormatNames, getFileSuffixes, getFormatNames, getImageMetadataFormat, getMIMETypes, getNativeImageMetadataFormatName, getNativeStreamMetadataFormatName, getPluginClassName, getStreamMetadataFormat, isStandardImageMetadataFormatSupported, isStandardStreamMetadataFormatSupportedクラス javax.imageio.spi.IIOServiceProviderで宣言されたメソッドgetDescription, getVendorName, getVersion, onDeregistration, onRegistration
- 
フィールド詳細- 
STANDARD_INPUT_TYPE@Deprecated public static final Class<?>[] STANDARD_INPUT_TYPE非推奨。このフィールドを使用する代わりに、同等の配列{ ImageInputStream.class }を直接作成してください。getInputTypesから返される単一要素の配列で、最初はImageInputStream.classが格納されています。
- 
inputTypesprotected クラス<?>[] inputTypesgetInputTypesから返されるClassオブジェクトの配列で、最初はnullです。
- 
writerSpiNamesprotected String[] writerSpiNamesgetImageWriterSpiNamesから返される文字列の配列で、最初はnullです。
 
- 
- 
コンストラクタの詳細- 
ImageReaderSpiprotected ImageReaderSpi()空白のImageReaderSpiを構築します。 すべてのメソッドの作業バージョンを提供するための、インスタンス変数の初期化やメソッド実装のオーバーライドは、サブクラスで行う必要があります。
- 
ImageReaderSpipublic ImageReaderSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String readerClassName, Class<?>[] inputTypes, String[] writerSpiNames, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)指定された値セットを使用してImageReaderSpiを構築します。- パラメータ:
- vendorName- ベンダー名(- null以外の- String)。
- version- バージョン識別子(- null以外の- String)。
- names- 形式名を示す- null以外の- String配列。 1つ以上のエントリが存在する必要がある。
- suffixes- 共通のファイル接尾辞を示す- String配列。 接尾辞が定義されていない場合は、- nullを指定する。 長さ0の配列は- nullに正規化される。
- MIMETypes- 形式のMIMEタイプを示す- String配列。 MIMEタイプが定義されていない場合は、- nullを指定する。 長さ0の配列は- nullに正規化される。
- readerClassName- 関連付けられた- ImageReaderクラスの完全修飾名(- null以外のString)。
- inputTypes- 正当な入力タイプを示す、長さ1以上の- Classオブジェクトの配列(- null以外)。
- writerSpiNames- 関連するすべての- ImageWriterのクラスを命名する- String配列、または- null。 長さ0の配列は- nullに正規化される。
- supportsStandardStreamMetadataFormat- ストリーム・メタデータ・オブジェクトが標準メタデータ形式で記述されたツリーを使用可能かどうかを示す- boolean。
- nativeStreamMetadataFormatName-- getNativeStreamMetadataFormatNameから返される- String、または- null。
- nativeStreamMetadataFormatClassName-- getNativeStreamMetadataFormatから返されるメタデータ形式オブジェクトのインスタンス化で使用する- String、または- null。
- extraStreamMetadataFormatNames-- getExtraStreamMetadataFormatNamesから返される- Stringの配列、または- null。 長さ0の配列は- nullに正規化される。
- extraStreamMetadataFormatClassNames-- getStreamMetadataFormatから返されるメタデータ形式オブジェクトのインスタンス化で使用する- Stringの配列、または- null。 長さ0の配列は- nullに正規化される。
- supportsStandardImageMetadataFormat- イメージ・メタデータ・オブジェクトが、標準のメタデータ形式で記述されたツリーを使用できるかどうかを示す- boolean。
- nativeImageMetadataFormatName-- getNativeImageMetadataFormatNameから返される- String、または- null。
- nativeImageMetadataFormatClassName-- getNativeImageMetadataFormatから返されるメタデータ形式オブジェクトのインスタンス化で使用する- String、または- null。
- extraImageMetadataFormatNames-- getExtraImageMetadataFormatNamesから返される- Stringの配列。 長さ0の配列は- nullに正規化される。
- extraImageMetadataFormatClassNames-- getImageMetadataFormatから返されるメタデータ形式オブジェクトのインスタンス化で使用する- Stringの配列、または- null。 長さ0の配列は- nullに正規化される。
- 例外:
- IllegalArgumentException-- vendorNameが- nullの場合。
- IllegalArgumentException-- versionが- nullの場合。
- IllegalArgumentException-- namesが- nullまたは長さ0の場合。
- IllegalArgumentException-- readerClassNameが- nullの場合。
- IllegalArgumentException-- inputTypesが- nullまたは長さ0の場合。
 
 
- 
- 
メソッドの詳細- 
getInputTypespublic Class<?>[] getInputTypes()リーダーのsetInputメソッドの引数に使用可能なオブジェクトの型を示すClassオブジェクトの配列を返します。ImageInputStreamからの入力を受け取るだけの大半のリーダーの場合、ImageInputStream.classを含む単一要素の配列が返されます。- 戻り値:
- 長さ1以上のClassオブジェクトの、null以外の配列。
 
- 
canDecodeInputpublic abstract boolean canDecodeInput(Object source) throws IOException指定されたソース・オブジェクトがこのリーダーでサポートされる形式であると見なされる場合にtrueを返します。 このメソッドからtrueが返されても読込みに成功することは保証されず、ストリーム内容の簡潔な検証に基づき成功の可能性がかなり高いと見なされたにすぎません。 ソースがImageInputStreamの場合、実装は一般的にストリームの最初の数バイトをチェックして、この形式に関連付けられた「マジック番号」を確認します。 実際の読込みが開始されても、デコーディングが完了するまでいつでもリーダーは失敗する可能性があります。ほかの ImageReaderSpiがオブジェクトをデコードできるかどうか適切に判定できるように、オブジェクトの状態を妨げないことが重要です。 特に、ソースがImageInputStreamの場合、mark/resetのペアを使用してストリーム位置を保持する必要があります。ほとんどすべてのストリームの読込みを試みる可能性のある「raw」などの形式では、より適切なものよりも優先して呼び出されるのを避けるために、 falseを返す必要があります。sourceがgetInputTypesから返されたクラスのいずれでもない場合、このメソッドはfalseを返すだけです。- パラメータ:
- source- デコードされるオブジェクト。通常は- ImageInputStream。
- 戻り値:
- このストリームをデコード可能な場合はtrue。
- 例外:
- IllegalArgumentException-- sourceが- nullである場合。
- IOException- ストリームの読取り中に入出力エラーが発生した場合。
 
- 
createReaderInstancepublic ImageReader createReaderInstance() throws IOExceptionこのサービス・プロバイダに関連するImageReader実装のインスタンスを返します。 返されるオブジェクトの初期状態は、resetメソッドの呼出し後のような状態です。デフォルトの実装では、 createReaderInstance(null)を返すだけです。- 戻り値:
- ImageReaderインスタンス。
- 例外:
- IOException- リーダー・クラスのロードや初期化、またはリーダー・オブジェクトのインスタンス化や初期化でエラーが発生した場合。
 
- 
createReaderInstancepublic abstract ImageReader createReaderInstance(Object extension) throws IOExceptionこのサービス・プロバイダに関連するImageReader実装のインスタンスを返します。 返されるオブジェクトの初期状態は、resetメソッドの呼出し後のような状態です。構築時に Objectをプラグインに提供できます。 オブジェクトの特性は、プラグインによって異なります。通常、プラグインは return new MyImageReader(this)などのコードを使用してこのメソッドを実装します。- パラメータ:
- extension- プラグイン固有の拡張オブジェクト。- nullも可。
- 戻り値:
- ImageReaderインスタンス。
- 例外:
- IOException- リーダーのインスタンス化に失敗した場合。
- IllegalArgumentException- 拡張オブジェクトが適切でないことを示すために- ImageReaderのコンストラクタが- IllegalArgumentExceptionをスローする場合。
 
- 
isOwnReaderpublic boolean isOwnReader(ImageReader reader)渡されたImageReaderオブジェクトがこのサービス・プロバイダに関連するImageReaderのインスタンスの場合は、trueを返します。デフォルトの実装では、引数 readerの完全指定クラス名とコンストラクタに渡されたクラス名を比較します。 さらに高度なチェックが必要な場合は、このメソッドをオーバーライドできます。- パラメータ:
- reader-- ImageReaderインスタンス。
- 戻り値:
- readerが認識される場合は- true。
- 例外:
- IllegalArgumentException-- readerが- nullの場合。
 
- 
getImageWriterSpiNamespublic String[] getImageWriterSpiNames()このサービス・プロバイダに関連するImageReaderが使用する内部メタデータ表現を認識可能なImageWriterSpiクラスすべての完全修飾名を含むString配列を返します。この種のImageWriterが指定されていない場合はnullを返します。null以外の値が返される場合は、0以外の長さになります。配列の最初の項目は、 ImageIO.getImageWriter(ImageReader)から返されるImageWriterのインスタンス化で使用されるため、「優先される」ライターのサービス・プロバイダ名である必要があります。このメカニズムは、 ImageReaderで生成されたピクセル以外のメタデータ(IIOTreeInfoを参照)の内部構造を認識するImageWritersの取得に使用できます。ImageReaderからこのデータを取得して、このメソッドで取得したいずれかのImageWritersに渡すと、クライアント・プログラムで、すべてのメタデータを保持しつつ、イメージの読込みや変更、書戻しを行うことができ、メタデータの内部構造やイメージ形式でさえ何も意識する必要はありません。- 戻り値:
- ImageWriterSpiの名前を含む長さ1以上の- Stringの配列、または- null。
- 関連項目:
- ImageIO.getImageWriter(ImageReader)
 
 
- 
{ ImageInputStream.class }を直接作成してください。