java.lang.Object
javax.imageio.spi.IIOServiceProvider
javax.imageio.spi.ImageInputStreamSpi
- 所有已实现的接口:
RegisterableService
ImageInputStreams 的服务提供商接口 (SPI)。有关服务提供者接口的更多信息,请参阅 IIORegistry 类的类注解。
该接口允许任意对象被 ImageInputStream 的实例“包装”。例如,特定的 ImageInputStreamSpi 可能允许将通用的 InputStream 用作输入源;另一个可能会从 URL 获取输入。
通过将 ImageInputStream 的创建视为可插入服务,可以在不更改 API 的情况下处理未来的输入源。此外,应用程序可以透明地安装和使用 ImageInputStream 的高性能实现(例如,特定平台的本机实现)。
- 参见:
-
字段摘要
字段在类 javax.imageio.spi.IIOServiceProvider 中声明的字段
vendorName, version -
构造方法总结
构造方法修饰符构造方法描述protected构造一个空白ImageInputStreamSpi。ImageInputStreamSpi(String vendorName, String version, Class<?> inputClass) 使用给定的一组值构造一个ImageInputStreamSpi。 -
方法总结
修饰符和类型方法描述boolean如果与此服务提供商关联的ImageInputStream实现可以选择使用缓存文件来提高性能和/或内存占用,则返回true。createInputStreamInstance(Object input) 返回与此服务提供商关联的ImageInputStream实现的实例。abstract ImageInputStreamcreateInputStreamInstance(Object input, boolean useCache, File cacheDir) 返回与此服务提供商关联的ImageInputStream实现的实例。Class<?>返回一个Class对象,表示必须由输入源实现的类或接口类型,以便通过createInputStreamInstance方法“包装”在ImageInputStream中。boolean如果与此服务提供商关联的ImageInputStream实现需要使用缓存File,则返回true。在类 javax.imageio.spi.IIOServiceProvider 中声明的方法
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
-
字段详细信息
-
inputClass
一个Class对象,指示createInputStreamInstance方法使用的合法对象类型。
-
-
构造方法详细信息
-
ImageInputStreamSpi
protected ImageInputStreamSpi()构造一个空白ImageInputStreamSpi。由子类初始化实例变量和/或覆盖方法实现,以提供所有方法的工作版本。 -
ImageInputStreamSpi
使用给定的一组值构造一个ImageInputStreamSpi。- 参数:
vendorName- 供应商名称。version- 版本标识符。inputClass- 一个Class对象,指示createInputStreamInstance方法使用的合法对象类型。- 抛出:
IllegalArgumentException- 如果vendorName是null。IllegalArgumentException- 如果version是null。
-
-
方法详情
-
getInputClass
返回一个Class对象,表示必须由输入源实现的类或接口类型,以便通过createInputStreamInstance方法“包装”在ImageInputStream中。典型的返回值可能包括
InputStream.class或URL.class,但可以使用任何类。- 返回:
-
一个
Class变量。 - 参见:
-
canUseCacheFile
public boolean canUseCacheFile()如果与此服务提供商关联的ImageInputStream实现可以选择使用缓存文件来提高性能和/或内存占用,则返回true。如果为false,则createInputStreamInstance的useCache参数的值将被忽略。默认实现返回
false。- 返回:
true该服务提供商创建的输入流是否可以使用缓存文件。
-
needsCacheFile
public boolean needsCacheFile()如果与此服务提供商关联的ImageInputStream实现需要使用缓存File,则返回true。如果为true,则createInputStreamInstance的useCache参数的值将被忽略。默认实现返回
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- 如果需要缓存文件但无法创建。- 参见:
-
createInputStreamInstance
返回与此服务提供商关联的ImageInputStream实现的实例。如果需要,将在系统相关的默认临时文件目录中创建一个缓存文件。- 参数:
input-getInputClass返回的类类型的对象。- 返回:
-
一个
ImageInputStream实例。 - 抛出:
IllegalArgumentException- 如果input不是正确类的实例或者是null。IOException- 如果需要缓存文件但无法创建。- 参见:
-