Класс ImageInputStreamSpi

Все реализованные интерфейсы:
RegisterableService
public abstract class ImageInputStreamSpi
extends IIOServiceProvider

Интерфейс поставщика сервисов (SPI) для ImageInputStream. Дополнительную информацию об интерфейсах поставщиков сервисов см. в комментарии к классу IIORegistry.

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

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

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

Поля

Модификатор и тип Поле Описание
protected Class<?> inputClass

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

Поля, объявленные в классе javax.imageio.spi.IIOServiceProvider

vendorName, version

Конструкторы

Модификатор Конструктор Описание
protected ImageInputStreamSpi()

Создаёт пустой ImageInputStreamSpi.

ImageInputStreamSpi​(String vendorName, String version, Class<?> inputClass)

Создаёт 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.

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

getDescription, getVendorName, getVersion, onDeregistration, onRegistration

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

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Поля

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 - значение, указывающее, нужно ли использовать файл кэша в случаях, когда это необязательно.
cacheDir - значение, указывающее, где должен быть создан файл кэша, или null для использования системного каталога.
Возвращает:
экземпляр ImageInputStream.
Исключения:
IllegalArgumentException - если input не является экземпляром правильного класса или является null.
IllegalArgumentException - если файл кэша необходим, но cacheDir не пустой и не является каталогом.
IOException - если файл кэша не может быть создан.
См. также:
getInputClass(), canUseCacheFile(), needsCacheFile()

createInputStreamInstance

public ImageInputStream createInputStreamInstance(Object input)
                                           throws IOException

Возвращает экземпляр реализации ImageInputStream , связанной с этим поставщиком сервисов. Файл кэша будет создан в системно-зависимом каталоге временных файлов по умолчанию, если это необходимо.

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

© 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.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/javax/imageio/spi/ImageInputStreamSpi.html

Spec-Zone .ru
спецификации, руководства, описания, API