Класс ImageInputStreamSpi
- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- javax.imageio.spi.ImageInputStreamSpi
- Все реализованные интерфейсы:
RegisterableService
public abstract class ImageInputStreamSpi extends IIOServiceProvider
Интерфейс поставщика сервисов (SPI) для ImageInputStream. Дополнительную информацию об интерфейсах поставщиков сервисов см. в комментарии к классу IIORegistry.
Этот интерфейс позволяет произвольным объектам быть "обёрнутыми" экземплярами ImageInputStream. Например, определённый ImageInputStreamSpi может позволить использовать общий InputStream в качестве источника ввода; другой может получать данные из URL.
Обращаясь к созданию ImageInputStream как к подключаемому сервису, становится возможным обрабатывать будущие источники ввода без изменения API. Также высокопроизводительные реализации ImageInputStream (например, нативные реализации для определённой платформы) могут быть установлены и использованы приложениями прозрачно.
- См. также:
-
IIORegistry,ImageInputStream
Поля
| Модификатор и тип | Поле | Описание |
|---|---|---|
protected Class<?> |
inputClass |
Объект |
Поля, объявленные в классе javax.imageio.spi.IIOServiceProvider
vendorName, version
Конструкторы
| Модификатор | Конструктор | Описание |
|---|---|---|
protected |
ImageInputStreamSpi() |
Создаёт пустой |
ImageInputStreamSpi(String vendorName,
String version,
Class<?> inputClass) |
Создаёт |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
boolean |
canUseCacheFile() |
Возвращает |
ImageInputStream |
createInputStreamInstance(Object input) |
Возвращает экземпляр реализации |
abstract ImageInputStream |
createInputStreamInstance(Object input,
boolean useCache,
File cacheDir) |
Возвращает экземпляр реализации |
Class<?> |
getInputClass() |
Возвращает объект |
boolean |
needsCacheFile() |
Возвращает |
Методы, объявленные в классе 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