java.lang.Object javax.imageio.spi.IIOServiceProvider javax.imageio.spi.ImageOutputStreamSpi
public abstract class ImageOutputStreamSpi
用于 ImageOutputStream
的服务提供者接口 (SPI)。有关服务提供者接口的更多信息,请参见 IIORegistry
类的注释。
此接口允许由 ImageOutputStream
的实例“包装”任意对象。例如,特定的 ImageOutputStreamSpi
可能允许使用一般的 OutputStream
充当目标位置;另一个可能输出到一个 File
或类似串行端口的设备。
通过将 ImageOutputStream
的创建作为一个可插入的服务,实现了在不更改 API 的情况下对后续的输出目标位置的处理。另外,应用程序可以透明的方式安装和使用 ImageOutputStream
的高性能实现(例如,用于特定平台的本地实现)。
IIORegistry
,
ImageOutputStream
字段摘要 | |
---|---|
protected Class<?> |
outputClass 指示供 createInputStreamInstance 方法使用的合法对象类型的 Class 对象。 |
从类 javax.imageio.spi.IIOServiceProvider 继承的字段 |
---|
vendorName, version |
构造方法摘要 | |
---|---|
protected |
ImageOutputStreamSpi() 构造一个空的 ImageOutputStreamSpi 。 |
|
ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass) 用给定的一组值构造 ImageOutputStreamSpi 。 |
方法摘要 | |
---|---|
boolean |
canUseCacheFile() 如果与此服务提供者关联的 ImageOutputStream 实现可选择利用缓存 File 改善性能和/或内存占用,则返回 true 。 |
ImageOutputStream |
createOutputStreamInstance(Object output) 返回与此服务提供者关联的 ImageOutputStream 实现的实例。 |
abstract ImageOutputStream |
createOutputStreamInstance(Object output, boolean useCache, File cacheDir) 返回与此服务提供者关联的 ImageOutputStream 实现的实例。 |
Class<?> |
getOutputClass() 返回表示必须由输出目标位置实现(以便使用 createOutputStreamInstance 方法在 ImageOutputStream 中“包装”)的类或接口的类型的 Class 对象。 |
boolean |
needsCacheFile() 如果与此服务提供者关联的 ImageOutputStream 实现要求使用缓存 File ,则返回 true 。 |
从类 javax.imageio.spi.IIOServiceProvider 继承的方法 |
---|
getDescription, getVendorName, getVersion, onDeregistration, onRegistration |
从类 java.lang.Object 继承的方法 |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
字段详细信息 |
---|
protected Class<?> outputClass
createInputStreamInstance
方法使用的合法对象类型的
Class
对象。
构造方法详细信息 |
---|
protected ImageOutputStreamSpi()
ImageOutputStreamSpi
。为提供所有方法的可用版本,由子类负责初始化实例变量和/或重写方法实现。
public ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass)
ImageOutputStreamSpi
。
vendorName
- 供应商名称。
version
- 版本标识符。
outputClass
- 指示供
createOutputStreamInstance
方法使用的合法对象类型的
Class
对象。
IllegalArgumentException
- 如果
vendorName
为
null
。
IllegalArgumentException
- 如果
version
为
null
。
方法详细信息 |
---|
public Class<?> getOutputClass()
createOutputStreamInstance
方法在
ImageOutputStream
中“包装”)的类或接口的类型的
Class
对象。
通常的返回值可能包含 OutputStream.class
或 File.class
,但可能使用任何类。
Class
变量。
createOutputStreamInstance(Object, boolean, File)
public boolean canUseCacheFile()
ImageOutputStream
实现可选择利用缓存
File
改善性能和/或内存占用,则返回
true
。如果为
false
,将忽略
createOutputStreamInstance
的
cacheFile
参数的值。
默认实现返回 false
。
true
。
public boolean needsCacheFile()
ImageOutputStream
实现要求使用缓存
File
,则返回
true
。
默认实现返回 false
。
true
。
public abstract ImageOutputStream createOutputStreamInstance(Object output, boolean useCache, File cacheDir) throws IOException
ImageOutputStream
实现的实例。如果使用缓存文件为可选项,则将参考
useCache
参数。在要求使用缓存,或缓存不适用时,将忽略
useCache
的值。
output
- 一个由
getOutputClass
返回的类类型的对象。
useCache
- 在可选的情况下指示是否应使用缓存文件的
boolean
。
cacheDir
- 指示创建缓存文件的位置的
File
,或者为
null
,以指示使用系统目录。
ImageOutputStream
实例。
IllegalArgumentException
- 如果
output
不是一个正确的类的实例,或者为
null
。
IllegalArgumentException
- 如果需要缓存文件,但
cacheDir
为非
null
并且也不是一个目录。
IOException
- 如果需要缓存文件但无法创建。
getOutputClass()
public ImageOutputStream createOutputStreamInstance(Object output) throws IOException
ImageOutputStream
实现的实例。如果需要,将在系统相应的默认临时文件目录中创建缓存文件。
output
- 一个由
getOutputClass
返回的类类型的对象。
ImageOutputStream
实例。
IllegalArgumentException
- 如果
output
不是一个正确的类的实例,或者为
null
。
IOException
- 如果需要缓存文件但无法创建。
getOutputClass()