public final class IIORegistry extends ServiceRegistry
ImageReader,
ImageWriter,
ImageTranscoder,
ImageInputStream, and
ImageOutputStream.
Service providers found on the system classpath (typically the lib/ext directory in the Java installation directory) are automatically loaded as soon as this class is instantiated.
When the registerApplicationClasspathSpis method is called, service provider instances declared in the meta-information section of JAR files on the application class path are loaded. To declare a service provider, a services subdirectory is placed within the META-INF directory that is present in every JAR file. This directory contains a file for each service provider interface that has one or more implementation classes present in the JAR file. For example, if the JAR file contained a class named com.mycompany.imageio.MyFormatReaderSpi which implements the ImageReaderSpi interface, the JAR file would contain a file named:
META-INF/services/javax.imageio.spi.ImageReaderSpicontaining the line:
com.mycompany.imageio.MyFormatReaderSpi
The service provider classes are intended to be lightweight and quick to load. Implementations of these interfaces should avoid complex dependencies on other classes and on native code.
It is also possible to manually add service providers not found automatically, as well as to remove those that are using the interfaces of the ServiceRegistry class. Thus the application may customize the contents of the registry as it sees fit.
For more details on declaring service providers, and the JAR format in general, see the JAR File Specification.
ServiceRegistry.Filter | Modifier and Type | Method and Description |
|---|---|
static IIORegistry |
getDefaultInstance()
Returns the default
IIORegistry instance used by the Image I/O API.
|
void |
registerApplicationClasspathSpis()
Registers all available service providers found on the application class path, using the default
ClassLoader.
|
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrderingpublic static IIORegistrygetDefaultInstance()
IIORegistry instance used by the Image I/O API. This instance should be used for all registry functions.
Each ThreadGroup will receive its own instance; this allows different Applets in the same browser (for example) to each have their own registry.
ThreadGroup.
public void registerApplicationClasspathSpis()
ClassLoader. This method is typically invoked by the
ImageIO.scanForPlugins method.