- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- javax.imageio.spi.ImageOutputStreamSpi
-
- All Implemented Interfaces:
-
RegisterableService
public abstract class ImageOutputStreamSpi extends IIOServiceProvider
服务提供商接口(SPI),用于ImageOutputStreams。 有关服务提供商接口的更多信息,请参阅IIORegistry类的类注释。该接口允许任意对象由
ImageOutputStream的实例“包裹”。 例如,特定的ImageOutputStreamSpi可能允许使用通用的OutputStream作为目的地; 另一个可能输出到一个File或一个设备,如串行端口。通过将
ImageOutputStreams的创建视为可插拔服务,可以在不更改API的情况下处理未来的输出目的地。 此外,ImageOutputStream的高性能实现(例如,特定平台的本机实现)可以由应用程序透明地安装和使用。- 另请参见:
-
IIORegistry,ImageOutputStream
-
-
Field Summary
Fields Modifier and Type Field 描述 protected Class<?>outputClass一个Class对象,指示createInputStreamInstance方法使用的合法对象类型。-
Fields inherited from class javax.imageio.spi.IIOServiceProvider
vendorName, version
-
-
构造方法摘要
构造方法 Modifier Constructor 描述 protectedImageOutputStreamSpi()构造一个空白ImageOutputStreamSpi。ImageOutputStreamSpi(String vendorName, String version, Class<?> outputClass)构造一个给定值的一个ImageOutputStreamSpi。
-
方法摘要
所有方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 booleancanUseCacheFile()返回true如果ImageOutputStream与此服务提供者关联实现可选择使用缓存File,以提高性能和/或内存占用。ImageOutputStreamcreateOutputStreamInstance(Object output)返回与此服务提供商关联的ImageOutputStream实现的实例。abstract ImageOutputStreamcreateOutputStreamInstance(Object output, boolean useCache, File cacheDir)返回与此服务提供程序相关联的ImageOutputStream实现的实例。Class<?>getOutputClass()返回一个Class表示必须由输出目的地,以便被实现为“包装”在的类或接口类型的对象ImageOutputStream经由createOutputStreamInstance方法。booleanneedsCacheFile()返回true如果ImageOutputStream与此服务提供相关的实施需要使用一个缓存File。-
Methods inherited from class javax.imageio.spi.IIOServiceProvider
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
-
-
-
-
字段详细信息
-
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- aboolean表示是否应使用缓存文件,如果是可选的。 -
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()
-
-