public final class IIORegistry extends ServiceRegistry
ImageReader
, ImageWriter
, ImageTranscoder
, ImageInputStream
和ImageOutputStream
。
一旦该类被lib/ext
化,系统类路径(通常是Java安装目录中的lib/ext目录)中找到的服务提供者就会自动加载。
当调用registerApplicationClasspathSpis
方法时,将加载在应用程序类路径上的JAR文件的元信息部分中声明的服务提供程序实例。 要声明服务提供商, services
子目录将放置在每个JAR文件中存在的META-INF
目录中。 此目录包含每个服务提供程序接口的文件,该接口在JAR文件中具有一个或多个实现类。 例如,如果JAR文件包含了一个名为类com.mycompany.imageio.MyFormatReaderSpi
它实现了ImageReaderSpi
接口,JAR文件将包含一个文件名为:
META-INF/services/javax.imageio.spi.ImageReaderSpi
包含行:
com.mycompany.imageio.MyFormatReaderSpi
服务提供商类旨在轻量化并快速加载。 这些接口的实现应避免对其他类和本地代码的复杂依赖。
也可以手动添加未自动找到的服务提供者,以及删除那些正在使用ServiceRegistry
类接口的服务ServiceRegistry
。 因此,应用程序可以根据自己的需要定制注册表的内容。
有关声明服务提供商的更多详细信息以及JAR格式,请参阅JAR File Specification 。
ServiceRegistry.Filter
Modifier and Type | Method and Description |
---|---|
static IIORegistry |
getDefaultInstance()
返回Image I / O API使用的默认
IIORegistry 实例。
|
void |
registerApplicationClasspathSpis()
使用默认的
ClassLoader 在应用程序类路径中找到的所有可用服务
ClassLoader 。
|
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering
public static IIORegistry getDefaultInstance()
IIORegistry
实例。
该实例应用于所有注册表功能。
每个ThreadGroup
将收到自己的实例; 这允许不同的Applet
在同一个浏览器(例如)每个都有自己的注册表。
ThreadGroup
。
public void registerApplicationClasspathSpis()
ClassLoader
在应用程序类路径上找到的所有可用的服务ClassLoader
。
该方法通常由ImageIO.scanForPlugins
方法调用。