- java.lang.Object
-
- javax.imageio.spi.ServiceRegistry
-
- javax.imageio.spi.IIORegistry
-
public final class IIORegistry extends ServiceRegistry
服务提供商实例的注册表。 可以通过在包含它们的JAR文件中的元信息在运行时检测服务提供者类。 意图是加载和检查所有可用的服务提供商类是相对便宜的。 这些类可以在它们被用来定位和实例在这种情况下,情况更重量级的类,将执行工作实际,ImageReader
,ImageWriter
,ImageTranscoder
,ImageInputStream
,并ImageOutputStream
。 一旦该类被实例化,从Java平台发现的服务提供者就会自动加载。当调用
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
类接口的服务提供商。 因此,应用程序可以根据自己的需要定制注册表的内容。有关声明服务提供商的更多详细信息以及JAR格式,请参阅JAR File Specification 。
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.imageio.spi.ServiceRegistry
ServiceRegistry.Filter
-
-
方法摘要
所有方法 静态方法 接口方法 具体的方法 Modifier and Type 方法 描述 static IIORegistry
getDefaultInstance()
返回Image I / O API使用的默认IIORegistry
实例。void
registerApplicationClasspathSpis()
注册应用程序类路径中找到的所有可用服务提供商,使用默认值ClassLoader
。-
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from class javax.imageio.spi.ServiceRegistry
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering
-
-
-
-
方法详细信息
-
getDefaultInstance
public static IIORegistry getDefaultInstance()
返回Image I / O API使用的默认IIORegistry
实例。 该实例应用于所有注册表功能。每个
ThreadGroup
都会收到自己的实例; 这允许不同的Applet
在同一个浏览器(例如),每个都有自己的注册表。- 结果
-
目前的默认注册表为
ThreadGroup
。
-
registerApplicationClasspathSpis
public void registerApplicationClasspathSpis()
注册应用程序类路径中找到的所有可用服务提供商,使用默认的ClassLoader
。 这种方法通常由ImageIO.scanForPlugins
方法调用。
-
-