Класс ImageOutputStreamSpi
- Все реализованные интерфейсы:
RegisterableService
public abstract class ImageOutputStreamSpi extends IIOServiceProvider
ImageOutputStream. Дополнительную информацию об интерфейсах поставщиков сервисов см. в комментарии к классу IIORegistry. Этот интерфейс позволяет произвольным объектам быть «обёрнутыми» экземплярами ImageOutputStream. Например, определённый ImageOutputStreamSpi может позволить использовать универсальный OutputStream в качестве назначения; другой может выводить данные в File или в устройство, такое как последовательный порт.
Сделав создание ImageOutputStream плагином, становится возможным обрабатывать будущие пункты назначения вывода без изменения API. Кроме того, высокопроизводительные реализации ImageOutputStream (например, собственные реализации для конкретной платформы) могут устанавливаться и использоваться приложениями прозрачно.
- См. также:
Краткое описание полей
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Class |
outputClass |
Объект Class, указывающий допустимый тип объекта для использования методом createInputStreamInstance. |
Поля, объявленные в классе javax.imageio.spi.IIOServiceProvider
vendorName, version
Краткое описание конструкторов
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
Создаёт пустой ImageOutputStreamSpi. |
|
| Создаёт ImageOutputStreamSpi с заданным набором значений. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
canUseCacheFile() |
Возвращает true, если реализация ImageOutputStream с данным поставщиком сервиса может по желанию использовать кэш File для повышения производительности и/или уменьшения потребления памяти. |
ImageOutputStream |
createOutputStreamInstance |
Возвращает экземпляр реализации ImageOutputStream с данным поставщиком сервиса. |
abstract ImageOutputStream |
createOutputStreamInstance |
Возвращает экземпляр реализации ImageOutputStream с данным поставщиком сервиса. |
Class |
getOutputClass() |
Возвращает объект Class, представляющий тип класса или интерфейса, который должен быть реализован пунктом назначения вывода для его «обертывания» в ImageOutputStream с помощью метода createOutputStreamInstance. |
boolean |
needsCacheFile() |
Возвращает true, если реализация ImageOutputStream с данным поставщиком сервиса требует использования кэша File. |
Методы, объявленные в классе javax.imageio.spi.IIOServiceProvider
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
Подробное описание полей
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. - См. также:
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- флаг, указывающий использовать кэш-файл, в случаях, когда это опционально. -
cacheDir- указание, где создать кэш-файл, илиnullдля использования системного каталога. - Возвращает:
- экземпляр
ImageOutputStream. - Исключения:
-
IllegalArgumentException- еслиoutputне является экземпляром правильного класса или являетсяnull. -
IllegalArgumentException- если кэш-файл необходим, ноcacheDirне пуст и не является каталогом. -
IOException- если кэш-файл не может быть создан. - См. также:
createOutputStreamInstance
public ImageOutputStream createOutputStreamInstance(Object output) throws IOException
ImageOutputStream с данным поставщиком сервиса. Кэш-файл будет создан в системно-зависимом каталоге временных файлов, если это необходимо.- Параметры:
-
output- объект типа класса, возвращаемогоgetOutputClass. - Возвращает:
- экземпляр
ImageOutputStream. - Исключения:
-
IllegalArgumentException- еслиoutputне является экземпляром правильного класса или являетсяnull. -
IOException- если кэш-файл необходим, но не может быть создан. - См. также:
© 1993, 2023, 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.
https://docs.oracle.com/en/java/javase/21/docs/api/java.desktop/javax/imageio/spi/ImageOutputStreamSpi.html