Класс 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() Возвращает экземпляр по умолчанию |
void |
registerApplicationClasspathSpis() Регистрирует все доступные поставщики услуг, обнаруженные в пути класса приложения, используя по умолчанию |
Методы, унаследованные от класса 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.
© 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.