Spec-Zone.ru › OpenJDK 27

Класс ImageOutputStreamSpi

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

Этот интерфейс позволяет «оборачивать» произвольные объекты экземплярами ImageOutputStream. Например, конкретный ImageOutputStreamSpi может позволять использовать универсальный OutputStream в качестве назначения; другой может выводить данные в File или на устройство, например последовательный порт.

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

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

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

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

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

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

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

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

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

Модификатор и тип Метод Описание
boolean canUseCacheFile()
Возвращает true, если реализация ImageOutputStream, связанная с этим поставщиком службы, может при необходимости использовать кэш File для повышения производительности и/или уменьшения объёма используемой памяти.
ImageOutputStream createOutputStreamInstance(Object output)
Возвращает экземпляр реализации ImageOutputStream, связанной с этим поставщиком службы.
abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache, File cacheDir)
Возвращает экземпляр реализации ImageOutputStream, связанной с этим поставщиком службы.
Class<?> getOutputClass()
Возвращает объект Class, представляющий тип класса или интерфейса, который должно реализовывать назначение вывода, чтобы его можно было «обернуть» в ImageOutputStream с помощью метода createOutputStreamInstance.
boolean needsCacheFile()
Возвращает true, если реализация ImageOutputStream, связанная с этим поставщиком службы, требует использования кэша 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 или прерывания потока.
final void wait(long timeoutMillis)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или прерывания потока, либо до истечения заданного интервала реального времени.
final void wait(long timeoutMillis, int nanos)
Заставляет текущий поток ожидать пробуждения, обычно в результате вызова метода notify или прерывания потока, либо до истечения заданного интервала реального времени.

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

outputClass

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

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

ImageOutputStreamSpi

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

ImageOutputStreamSpi

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

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

getOutputClass

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

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

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

canUseCacheFile

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

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

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

needsCacheFile

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

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

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

createOutputStreamInstance

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

createOutputStreamInstance

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

Сообщить об ошибке или предложить улучшение
Дополнительные справочные материалы по 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