|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object javax.imageio.spi.ServiceRegistry javax.imageio.spi.IIORegistry
public final class IIORegistry
サービスプロバイダインスタンスのレジストリです。サービスプロバイダクラスは、実行時にこれらのクラスを含む JAR ファイル内のメタ情報を使用して検出できます。目的は、比較的少ない負荷で、使用可能なサービスプロバイダクラスすべてのロードおよび検査を行うことです。その後、これらのクラスを使用して、実作業を実行する負荷の高いクラスの検出およびインスタンス化を実行します。この場合は、ImageReader
、ImageWriter
、ImageTranscoder
、ImageInputStream
、および ImageOutputStream
のインスタンスになります。
システムのクラスパス (たとえば、Sun の JDK 実装では jre/lib/ext
ディレクトリ) で検出されたサービスプロバイダが、このクラスがインスタンス化されるとすぐに自動的にロードされます。
registerApplicationClasspathSpis
メソッドが呼び出されると、アプリケーションのクラスパスの JAR ファイルのメタ情報セクションで宣言されたサービスプロバイダインスタンスがロードされます。サービスプロバイダを宣言するには、各 JAR ファイルに存在する META-INF
ディレクトリ内に services
サブディレクトリを配置します。このディレクトリ内には、JAR ファイル内に存在する 1 つ以上の実装クラスを保持するサービスプロバイダインタフェースごとに 1 つのファイルが含まれます。たとえば、JAR ファイルが ImageReaderSpi
インタフェースを実装するクラス com.mycompany.imageio.MyFormatReaderSpi
を含む場合は、JAR ファイルには次の名前のファイルが含まれます。
META-INF/services/javax.imageio.spi.ImageReaderSpiまた、次の行が含まれます。
com.mycompany.imageio.MyFormatReaderSpi
サービスプロバイダクラスの特性は、軽量で迅速なロードが可能であることです。このため、これらのインタフェースの実装は、他のクラスやネイティブコードに複雑に依存しないようにする必要があります。
自動的に検出されないサービスプロバイダを手動で追加することも、ServiceRegistry
クラスのインタフェースを使用するサービスプロバイダを削除することもできます。したがって、アプリケーションでレジストリの内容を必要に応じてカスタマイズできます。
サービスプロバイダ宣言の詳細および JAR 形式全般については、 「JAR File Specification」を参照してください。
入れ子のクラスの概要 |
---|
クラス javax.imageio.spi.ServiceRegistry から継承された入れ子のクラス/インタフェース |
---|
ServiceRegistry.Filter |
メソッドの概要 | |
---|---|
static IIORegistry |
getDefaultInstance()
イメージ入出力 API で使用されるデフォルトの IIORegistry インスタンスを返します。 |
void |
registerApplicationClasspathSpis()
アプリケーションのクラスパスで検出されたすべての使用可能サービスプロバイダを、デフォルトの ClassLoader を使用して登録します。 |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
メソッドの詳細 |
---|
public static IIORegistry getDefaultInstance()
IIORegistry
インスタンスを返します。このインスタンスはすべてのレジストリ関数で使用されます。
各 ThreadGroup
は独自のインスタンスを受け取ります。これにより、たとえば同じブラウザの別の Applet
がそれぞれ独自のレジストリを持つことができます。
ThreadGroup
のデフォルトレジストリpublic void registerApplicationClasspathSpis()
ClassLoader
を使用して登録します。このメソッドは通常 ImageIO.scanForPlugins
メソッドから呼び出されます。
ImageIO.scanForPlugins()
,
ClassLoader.getResources(java.lang.String)
|
JavaTM 2 Platform Standard Ed. 5.0 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。