Module java.desktop

Class IIORegistry

java.lang.Object
javax.imageio.spi.ServiceRegistry
javax.imageio.spi.IIORegistry

public final class IIORegistry extends ServiceRegistry
图像I/O服务提供程序实例的注册表。服务提供程序类可以通过文档中记录的机制在运行时被发现,ServiceLoader中有相关说明。其目的是相对廉价地加载和检查所有可用的图像I/O服务提供程序类。然后可以使用这些类来定位和实例化执行实际工作的更重的类,例如ImageReaderImageWriterImageTranscoderImageInputStreamImageOutputStream的实例。Java运行时包含的服务提供程序在实例化此类时会自动加载。

调用registerApplicationClasspathSpis方法时,将使用ServiceLoader发现其他服务提供程序实例。

还可以手动添加未自动发现的服务提供程序,以及使用ServiceRegistry类的接口删除已发现的服务提供程序。因此,应用程序可以根据需要自定义注册表的内容。

有关如何创建和部署服务提供程序的信息,请参考ServiceLoader的文档。

  • Method Details

    • getDefaultInstance

      public static IIORegistry getDefaultInstance()
      返回Image I/O API使用的默认IIORegistry实例。应该使用此实例执行所有注册表功能。

      每个ThreadGroup将收到自己的实例;这允许同一浏览器中的不同Applet(例如)各自拥有自己的注册表。

      返回:
      当前ThreadGroup的默认注册表。
    • registerApplicationClasspathSpis

      public void registerApplicationClasspathSpis()
      使用默认ClassLoader注册在应用程序类路径上找到的所有可用服务提供程序。此方法通常由ImageIO.scanForPlugins方法调用。
      参见: