Класс IIORegistry
public final class IIORegistry extends ServiceRegistry
ServiceLoader. Предполагается, что загрузка и проверка всех доступных классов поставщиков служб Image I/O будут относительно недорогими. Затем эти классы можно использовать для поиска и создания более ресурсоёмких классов, которые будут выполнять фактическую работу, в данном случае экземпляров ImageReader, ImageWriter, ImageTranscoder, ImageInputStream и ImageOutputStream. Поставщики служб, включённые в среду выполнения Java, автоматически загружаются при создании экземпляра этого класса. При вызове метода registerApplicationClasspathSpis будут обнаружены дополнительные экземпляры поставщиков служб с помощью ServiceLoader.
Также можно вручную добавить поставщиков служб, которые не были обнаружены автоматически, и удалить поставщиков служб, используя интерфейсы класса ServiceRegistry. Таким образом, приложение может настраивать содержимое реестра по своему усмотрению.
Сведения о создании и развёртывании поставщиков служб см. в документации по ServiceLoader
Краткое описание вложенных классов
Вложенные классы/интерфейсы, объявленные в классе ServiceRegistry
ServiceRegistry.Filter | Модификатор и тип | Класс | Описание |
|---|---|---|
static interface |
ServiceRegistry.Filter |
Простой интерфейс фильтра, используемый ServiceRegistry.getServiceProviders для выбора поставщиков, соответствующих произвольному критерию. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
static IIORegistry |
getDefaultInstance() |
Возвращает экземпляр IIORegistry по умолчанию, используемый API Image I/O. |
void |
registerApplicationClasspathSpis() |
Регистрирует всех доступных поставщиков служб, найденных в пути классов приложения, используя ClassLoader по умолчанию. |
Методы, объявленные в классе ServiceRegistry
contains, deregisterAll, deregisterAll, deregisterServiceProvider, deregisterServiceProvider, getCategories, getServiceProviderByClass, getServiceProviders, getServiceProviders, lookupProviders, lookupProviders, registerServiceProvider, registerServiceProvider, registerServiceProviders, setOrdering, unsetOrdering | Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
contains |
Возвращает true, если provider зарегистрирован в данный момент. |
void |
deregisterAll() |
Отменяет регистрацию всех зарегистрированных в данный момент поставщиков служб во всех категориях. |
void |
deregisterAll |
Отменяет регистрацию всех объектов поставщиков служб, зарегистрированных в данный момент в указанной категории. |
void |
deregisterServiceProvider |
Удаляет объект поставщика служб из всех категорий, в которых он содержится. |
<T> boolean |
deregisterServiceProvider |
Удаляет объект поставщика служб из указанной категории. |
Iterator |
getCategories() |
Возвращает Iterator объектов Class, представляющий текущий набор категорий. |
<T> T |
getServiceProviderByClass |
Возвращает зарегистрированный в данный момент объект поставщика служб указанного типа класса. |
<T> Iterator |
getServiceProviders |
Возвращает Iterator, содержащий всех зарегистрированных поставщиков служб указанной категории. |
<T> Iterator |
getServiceProviders |
Возвращает Iterator, содержащий объекты поставщиков служб указанной категории, удовлетворяющие критерию, заданному методом filter объекта ServiceRegistry.Filter. |
static <T> Iterator |
lookupProviders |
Находит и последовательно создаёт экземпляры доступных поставщиков указанной службы, используя загрузчик классов контекста. |
static <T> Iterator |
lookupProviders |
Ищет реализации указанного класса службы с помощью заданного загрузчика классов. |
void |
registerServiceProvider |
Добавляет объект поставщика служб в реестр. |
<T> boolean |
registerServiceProvider |
Добавляет объект поставщика служб в реестр. |
void |
registerServiceProviders |
Добавляет в реестр набор объектов поставщиков служб, полученный из Iterator. |
<T> boolean |
setOrdering |
Задаёт попарный порядок двух объектов поставщиков служб в указанной категории. |
<T> boolean |
unsetOrdering |
Задаёт попарный порядок двух объектов поставщиков служб в указанной категории. |
Методы, объявленные в классе Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | Модификатор и тип | Метод | Описание |
|---|---|---|
protected Object |
clone() |
Создаёт и возвращает копию этого объекта. |
boolean |
equals |
Указывает, равен ли другой объект этому объекту. |
protected void |
finalize() |
Устарело, будет удалено: этот элемент API подлежит удалению в будущей версии. Финализация объявлена устаревшей и подлежит удалению в одном из будущих выпусков. |
final Class |
getClass() |
Возвращает класс времени выполнения этого Object. |
int |
hashCode() |
Возвращает хеш-код этого объекта. |
final void |
notify() |
Пробуждает один поток, ожидающий на мониторе этого объекта. |
final void |
notifyAll() |
Пробуждает все потоки, ожидающие на мониторе этого объекта. |
String |
toString() |
Возвращает строковое представление объекта. |
final void |
wait() |
Переводит текущий поток в состояние ожидания до пробуждения, обычно в результате вызова notify или interrupt. |
final void |
wait |
Переводит текущий поток в состояние ожидания до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
final void |
wait |
Переводит текущий поток в состояние ожидания до пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного промежутка реального времени. |
Подробное описание методов
getDefaultInstance
public static IIORegistry getDefaultInstance()
IIORegistry по умолчанию, используемый API Image I/O. Этот экземпляр следует использовать для всех операций с реестром.- Возвращает:
- реестр API Image I/O по умолчанию
registerApplicationClasspathSpis
public void registerApplicationClasspathSpis()
ClassLoader по умолчанию. Обычно этот метод вызывается методом ImageIO.scanForPlugins.- См. также:
© 1993, 2025, 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.