Spec-Zone.ru › OpenJDK 8

Класс IIORegistry

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

public final class IIORegistry
extends ServiceRegistry

Регистр для экземпляров поставщиков услуг. Классы поставщиков услуг могут быть обнаружены во время выполнения с помощью метаданных в JAR-файлах, которые их содержат. Цель заключается в том, чтобы было относительно недорого загрузить и просмотреть все доступные классы поставщиков услуг. Затем эти классы могут быть использованы для поиска и создания более ресурсоёмких классов, которые будут выполнять фактическую работу, в данном случае экземпляры ImageReader, ImageWriter, ImageTranscoder, ImageInputStream, и ImageOutputStream.

Поставщики услуг, обнаруженные в системном классе (обычно каталог lib/ext в каталоге установки Java), автоматически загружаются как только этот класс создается.

Когда вызывается метод registerApplicationClasspathSpis, экземпляры поставщиков услуг, объявленные в разделе метаданных JAR-файлов в пути класса приложения, загружаются. Для объявления поставщика услуг подкаталог services размещается внутри каталога META-INF, который присутствует в каждом JAR-файле. Этот каталог содержит файл для каждого интерфейса поставщика услуг, для которого есть один или несколько реализующих классов в JAR-файле. Например, если JAR-файл содержал класс с именем com.mycompany.imageio.MyFormatReaderSpi, который реализует интерфейс ImageReaderSpi, JAR-файл содержал бы файл с именем:

META-INF/services/javax.imageio.spi.ImageReaderSpi
содержащий строку:
com.mycompany.imageio.MyFormatReaderSpi

Классы поставщиков услуг предназначены для того, чтобы быть лёгкими и быстро загружаться. Реализации этих интерфейсов должны избегать сложных зависимостей от других классов и от нативного кода.

Также возможно вручную добавить поставщиков услуг, не найденных автоматически, а также удалить те, которые используют интерфейсы класса ServiceRegistry. Таким образом, приложение может настроить содержимое реестра по своему усмотрению.

Дополнительную информацию об объявлении поставщиков услуг и формате JAR в целом см. в Спецификации JAR-файлов.

Вложенные классы

Вложенные классы/интерфейсы, унаследованные от класса javax.imageio.spi.ServiceRegistry

ServiceRegistry.Filter

Методы

Модификатор и тип Метод и описание
static IIORegistry getDefaultInstance()

Возвращает экземпляр по умолчанию IIORegistry, используемый API ввода/вывода изображений.

void registerApplicationClasspathSpis()

Регистрирует все доступные поставщики услуг, обнаруженные в пути класса приложения, используя по умолчанию ClassLoader.

Методы, унаследованные от класса javax.imageio.spi.ServiceRegistry

contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, finalize, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering

Методы, унаследованные от класса java.lang.Object

clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Методы

getDefaultInstance

public static IIORegistry getDefaultInstance()

Возвращает экземпляр по умолчанию IIORegistry, используемый API ввода/вывода изображений. Этот экземпляр должен использоваться для всех функций реестра.

Каждый ThreadGroup получит свой собственный экземпляр; это позволяет различным Applet в одном браузере (например) каждому иметь свой собственный реестр.

Возвращает:
реестр по умолчанию для текущего ThreadGroup.

registerApplicationClasspathSpis

public void registerApplicationClasspathSpis()

Регистрирует все доступные поставщики услуг, обнаруженные в пути класса приложения, используя по умолчанию ClassLoader. Этот метод обычно вызывается методом ImageIO.scanForPlugins.

См. также:
ImageIO.scanForPlugins(), ClassLoader.getResources(java.lang.String)

© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API