Spec-Zone.ru › OpenJDK 27

Класс ImageInputStreamSpi

java.lang.Object
javax.imageio.spi.IIOServiceProvider
javax.imageio.spi.ImageInputStreamSpi
Все реализуемые интерфейсы:
RegisterableService
public abstract class ImageInputStreamSpi extends IIOServiceProvider
Интерфейс поставщика службы (SPI) для ImageInputStreams. Дополнительные сведения об интерфейсах поставщиков служб см. в комментарии к классу IIORegistry.

Этот интерфейс позволяет «оборачивать» произвольные объекты экземплярами ImageInputStream. Например, определённый ImageInputStreamSpi может позволять использовать универсальный InputStream в качестве источника ввода; другой может получать данные из URL.

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

См. также:
  • IIORegistry
  • ImageInputStream

Краткое описание полей

Модификатор и тип Поле Описание
protected Class<?> inputClass
Объект Class, указывающий допустимый тип объекта для использования методом createInputStreamInstance.

Поля, объявленные в классе IIOServiceProvider

vendorName, version
Модификатор и тип Поле Описание
protected String vendorName
Объект String, возвращаемый методом getVendorName; изначально имеет значение null.
protected String version
Объект String, возвращаемый методом getVersion; изначально имеет значение null.

Краткое описание конструкторов

ImageInputStreamSpi()
ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass)
Модификатор Конструктор Описание
protected
Создаёт пустой ImageInputStreamSpi.
Создаёт ImageInputStreamSpi с заданным набором значений.

Краткое описание методов

Модификатор и тип Метод Описание
boolean canUseCacheFile()
Возвращает true, если реализация ImageInputStream, связанная с этим поставщиком службы, может при необходимости использовать файл кэша для повышения производительности и/или сокращения объёма используемой памяти.
ImageInputStream createInputStreamInstance(Object input)
Возвращает экземпляр реализации ImageInputStream, связанной с этим поставщиком службы.
abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir)
Возвращает экземпляр реализации ImageInputStream, связанной с этим поставщиком службы.
Class<?> getInputClass()
Возвращает объект Class, представляющий тип класса или интерфейса, который должен реализовывать источник ввода, чтобы его можно было «обернуть» в ImageInputStream с помощью метода createInputStreamInstance.
boolean needsCacheFile()
Возвращает true, если реализация ImageInputStream, связанная с этим поставщиком службы, требует использования кэша File.

Методы, объявленные в классе IIOServiceProvider

getDescription, getVendorName, getVersion, onDeregistration, onRegistration
Модификатор и тип Метод Описание
abstract String getDescription(Locale locale)
Возвращает краткое описание этого поставщика службы и связанной с ним реализации, понятное человеку.
String getVendorName()
Возвращает имя поставщика, ответственного за создание этого поставщика службы и связанной с ним реализации.
String getVersion()
Возвращает строку с номером версии этого поставщика службы и связанной с ним реализации.
void onDeregistration(ServiceRegistry registry, Class<?> category)
Обратный вызов, который будет выполнен при отмене регистрации класса Spi в ServiceRegistry.
void onRegistration(ServiceRegistry registry, Class<?> category)
Обратный вызов, который будет выполнен ровно один раз после создания экземпляра класса Spi и его регистрации в ServiceRegistry.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Модификатор и тип Метод Описание
protected Object clone()
Создаёт и возвращает копию этого объекта.
boolean equals(Object obj)
Показывает, равен ли какой-либо другой объект этому объекту.
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(long timeoutMillis)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.
final void wait(long timeoutMillis, int nanos)
Переводит текущий поток в состояние ожидания до его пробуждения, обычно в результате вызова notify или interrupt, либо до истечения заданного времени.

Подробное описание полей

inputClass

protected Class<?> inputClass
Объект Class, указывающий допустимый тип объекта для использования методом createInputStreamInstance.

Подробное описание конструкторов

ImageInputStreamSpi

protected ImageInputStreamSpi()
Создаёт пустой ImageInputStreamSpi. Подкласс должен инициализировать переменные экземпляра и/или переопределить реализации методов, чтобы обеспечить работоспособные версии всех методов.

ImageInputStreamSpi

public ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass)
Создаёт ImageInputStreamSpi с заданным набором значений.
Параметры:
vendorName — имя поставщика.
version — идентификатор версии.
inputClass — объект Class, указывающий допустимый тип объекта для использования методом createInputStreamInstance.
Исключения:
IllegalArgumentException — если vendorName имеет значение null.
IllegalArgumentException — если version имеет значение null.

Подробное описание методов

getInputClass

public Class<?> getInputClass()
Возвращает объект Class, представляющий тип класса или интерфейса, который должен реализовывать источник ввода, чтобы его можно было «обернуть» в ImageInputStream с помощью метода createInputStreamInstance.

Типичными возвращаемыми значениями могут быть InputStream.class или URL.class, но можно использовать любой класс.

Возвращает:
переменную типа Class.
См. также:
  • createInputStreamInstance(Object, boolean, File)

canUseCacheFile

public boolean canUseCacheFile()
Возвращает true, если реализация ImageInputStream, связанная с этим поставщиком службы, может при необходимости использовать файл кэша для повышения производительности и/или сокращения объёма используемой памяти. Если false, значение аргумента useCache метода createInputStreamInstance игнорируется.

Реализация по умолчанию возвращает false.

Возвращает:
true, если потоки ввода, созданные этим поставщиком службы, могут использовать файл кэша.

needsCacheFile

public boolean needsCacheFile()
Возвращает true, если реализация ImageInputStream, связанная с этим поставщиком службы, требует использования кэша File. Если true, значение аргумента useCache метода createInputStreamInstance игнорируется.

Реализация по умолчанию возвращает false.

Возвращает:
true, если потокам ввода, созданным этим поставщиком службы, требуется файл кэша.

createInputStreamInstance

public abstract ImageInputStream createInputStreamInstance(Object input, boolean useCache, File cacheDir) throws IOException
Возвращает экземпляр реализации ImageInputStream, связанной с этим поставщиком службы. Если использование файла кэша необязательно, учитывается параметр useCache. Если кэш требуется или неприменим, значение useCache игнорируется.
Параметры:
input — объект класса, возвращаемого методом getInputClass.
useCache — значение boolean, указывающее, следует ли использовать файл кэша, если это необязательно.
cacheDir — объект File, указывающий каталог для создания файла кэша, либо null для использования системного каталога.
Возвращает:
экземпляр ImageInputStream.
Исключения:
IllegalArgumentException — если input не является экземпляром правильного класса или имеет значение null.
IllegalArgumentException — если файл кэша необходим, но cacheDir не имеет значения null и не является каталогом.
IOException — если файл кэша необходим, но создать его невозможно.
См. также:
  • getInputClass()
  • canUseCacheFile()
  • needsCacheFile()

createInputStreamInstance

public ImageInputStream createInputStreamInstance(Object input) throws IOException
Возвращает экземпляр реализации ImageInputStream, связанной с этим поставщиком службы. При необходимости файл кэша будет создан в системном каталоге временных файлов по умолчанию.
Параметры:
input — объект класса, возвращаемого методом getInputClass.
Возвращает:
экземпляр ImageInputStream.
Исключения:
IllegalArgumentException — если input не является экземпляром правильного класса или имеет значение null.
IOException — если файл кэша необходим, но создать его невозможно.
См. также:
  • getInputClass()

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в разделе Документация Java SE, содержащем более подробные описания для разработчиков, концептуальные обзоры, определения терминов, обходные решения и работающие примеры кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторское право © 1993, 2026, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 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.

Spec-Zone.ru

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