|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
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 檔案中具有一個或多個實作類別的服務提供者介面都包含一個檔案。例如,假設 JAR 檔案包含了一個名為 com.mycompany.imageio.MyFormatReaderSpi
的類別,它實作 ImageReaderSpi
介面,則此 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()
返回 Image I/O 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. 6 |
|||||||||
上一個類別 下一個類別 | 框架 無框架 | |||||||||
摘要: 巢狀 | 欄位 | 建構子 | 方法 | 詳細資訊: 欄位 | 建構子 | 方法 |
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。