- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- javax.imageio.spi.ImageInputStreamSpi
-
- 实现的所有接口
-
RegisterableService
public abstract class ImageInputStreamSpi extends IIOServiceProvider
ImageInputStream的服务提供者接口(SPI)。 有关服务提供者接口的更多信息,请参阅IIORegistry类的类注释。此接口允许任意对象被
ImageInputStream的实例“包装”。 例如,特定的ImageInputStreamSpi可能允许将通用InputStream用作输入源; 另一个人可能会从URL获取输入。通过将
ImageInputStream的创建视为可插拔服务,可以在不更改API的情况下处理未来的输入源。 此外,应用程序可以透明地安装和使用ImageInputStream的高性能实现(例如,特定平台的本机实现)。- 另请参见:
-
IIORegistry,ImageInputStream
-
-
字段汇总
字段 变量和类型 字段 描述 protected 类<?>inputClass一个类对象,指示createInputStreamInstance方法使用的合法对象类型。-
声明的属性在类 javax.imageio.spi.IIOServiceProvider
vendorName, version
-
-
构造方法摘要
构造方法 变量 构造器 描述 protectedImageInputStreamSpi()构造一个空白ImageInputStreamSpi。ImageInputStreamSpi(String vendorName, String version, 类<?> inputClass)构造具有给定值集的ImageInputStreamSpi。
-
方法摘要
所有方法 实例方法 抽象方法 具体的方法 变量和类型 方法 描述 booleancanUseCacheFile()返回true如果ImageInputStream与此服务提供者关联实现可选择使用了改进的性能和/或内存占用一个缓存文件。ImageInputStreamcreateInputStreamInstance(Object input)返回与此服务提供者关联的ImageInputStream实现的实例。abstract ImageInputStreamcreateInputStreamInstance(Object input, boolean useCache, File cacheDir)返回与此服务提供者关联的ImageInputStream实现的实例。类<?>getInputClass()返回一个类对象,表示必须由输入源实现的类或接口类型,以便通过createInputStreamInstance方法在ImageInputStream“包装”。booleanneedsCacheFile()返回true如果ImageInputStream与此服务提供相关的实施需要使用一个缓存File。-
声明方法的类 javax.imageio.spi.IIOServiceProvider
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
-
-
-
-
字段详细信息
-
inputClass
protected 类<?> inputClass
一个类对象,指示createInputStreamInstance方法使用的合法对象类型。
-
-
构造方法详细信息
-
ImageInputStreamSpi
protected ImageInputStreamSpi()
构造一个空白ImageInputStreamSpi。 由子类来初始化实例变量和/或覆盖方法实现,以便提供所有方法的工作版本。
-
ImageInputStreamSpi
public ImageInputStreamSpi(String vendorName, String version, 类<?> inputClass)
构造具有给定值集的ImageInputStreamSpi。- 参数
-
vendorName- 供应商名称。 -
version- 版本标识符。 -
inputClass- 一个类对象,指示createInputStreamInstance方法使用的合法对象类型。 - 异常
-
IllegalArgumentException- 如果vendorName是null。 -
IllegalArgumentException- 如果version是null。
-
-
方法详细信息
-
getInputClass
public 类<?> getInputClass()
返回一个类表示必须由输入源,以便被实现为“包装”在的类或接口类型的对象ImageInputStream经由createInputStreamInstance方法。典型的返回值可能包括
InputStream.class或URL.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()
-
-