Класс 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-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()
© 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.