CONTENTS | PREV | NEXT |
META-INF/services
directory that is used to list any service providers that are
contained in the file. For each service provider interface that is
implemented by a class stored in the JAR file, a file whose name is
the fully-qualified class name of the service provider interface is
placed within the services
directory. The file should
contain the fully-qualified class names of the implementation
classes present in the JAR file, one per line. For example, if the
JAR file contains a service provider class named
com.mycompany.mypackage.MyImageReaderSpi
, which
implements the javax.imageio.spi.ImageReaderSpi
interface, there should be a file named
META-INF/services/javax.imageio.spi.ImageReaderSpi
containing the line
com.mycompany.mypackage.MyImageReaderSpi
.
The Image I/O API will
automatically examine any JAR files that are found on the class
path, and identify those that contain Image I/O plug-ins. For each
plug-in found, a single instance of its service provider class will
be instantiated and stored in a run-time registry class,
javax.iamgeio.spi.IIORegistry
.
JAR files on the application class
path (i.e., the path set using the CLASSPATH
variable), or elsewhere (e.g., available via a network URL) may be
loaded by the application. They are not loaded by default in order
to minimize startup time.
The
javax.imageio.spi.IIORegistry
class may also be used
at run-time to deregister installed plug-ins and to register new
ones. In particular, it is possible to use a
ClassLoader
to load a plug-in over the network, which
may then be registered and used exactly like a locally installed
plug-in.
Most applications should not need
to deal directly with the registry. Instead, they may make use of
convenience methods contained within the
javax.imageio.ImageIO
class that search for
appropriate plug-ins automatically.