Класс ImageOutputStreamSpi
- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- javax.imageio.spi.ImageOutputStreamSpi
- Все реализованные интерфейсы:
- RegisterableService
public abstract class ImageOutputStreamSpi extends IIOServiceProvider
Интерфейс поставщика сервисов (SPI) для ImageOutputStream. Дополнительную информацию об интерфейсах поставщиков сервисов см. в комментарии к классу IIORegistry.
Этот интерфейс позволяет произвольным объектам «обертываться» экземплярами ImageOutputStream. Например, определённый ImageOutputStreamSpi может позволить использовать универсальный OutputStream в качестве пункта назначения; другой может выводить данные в File или на устройство, например, последовательный порт.
Обращаясь к созданию ImageOutputStream как к подключаемому сервису, становится возможным обрабатывать будущие пункты назначения вывода без изменения API. Также, высокопроизводительные реализации ImageOutputStream (например, нативные реализации для определённой платформы) могут быть установлены и использованы приложениями прозрачно.
- См. также:
-
IIORegistry,ImageOutputStream
Поля
| Модификатор и тип | Поле и описание |
|---|---|
protected Class<?> |
outputClass Объект |
Наследованные поля из класса javax.imageio.spi.IIOServiceProvider
vendorName, version Конструкторы
| Модификатор | Конструктор и описание |
|---|---|
protected |
ImageOutputStreamSpi() Создаёт пустой |
ImageOutputStreamSpi(String vendorName,
String version,
Class<?> outputClass) Создаёт |
Методы
| Модификатор и тип | Метод и описание |
|---|---|
boolean |
canUseCacheFile() Возвращает |
ImageOutputStream |
createOutputStreamInstance(Object output) Возвращает экземпляр реализации |
abstract ImageOutputStream |
createOutputStreamInstance(Object output,
boolean useCache,
File cacheDir) Возвращает экземпляр реализации |
Class<?> |
getOutputClass() Возвращает объект |
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 Поля
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- значение, указывающее, должен ли быть использован файл кеша в случаях, когда он необязателен. -
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()
© 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.