- java.lang.Object
-
- javax.imageio.spi.IIOServiceProvider
-
- javax.imageio.spi.ImageReaderWriterSpi
-
- All Implemented Interfaces:
-
RegisterableService
- 已知直接子类:
-
ImageReaderSpi
,ImageWriterSpi
public abstract class ImageReaderWriterSpi extends IIOServiceProvider
一个包含实例变量的超类和ImageReaderSpi
和ImageWriterSpi
共同的方法。- 另请参见:
-
IIORegistry
,ImageReaderSpi
,ImageWriterSpi
-
-
Field Summary
Fields Modifier and Type Field 描述 protected String[]
extraImageMetadataFormatClassNames
String
的数组,包含该插件支持的任何其他图像元数据格式的类名,最初为null
。protected String[]
extraImageMetadataFormatNames
String
的数组,包含该插件支持的任何其他图像元数据格式的名称,最初为null
。protected String[]
extraStreamMetadataFormatClassNames
String
的数组,包含此插件支持的任何其他流元数据格式的类名,最初为null
。protected String[]
extraStreamMetadataFormatNames
String
的数组,包含该插件支持的任何其他流元数据格式的名称,最初为null
。protected String[]
MIMETypes
要从getMIMETypes
返回的字符串数组,最初为null
。protected String[]
names
要从getFormatNames
返回的字符串数组,最初为null
。protected String
nativeImageMetadataFormatClassName
AString
其中包含此插件支持的本机流元数据格式的类名,最初为null
。protected String
nativeImageMetadataFormatName
AString
包含此插件支持的本机流元数据格式的名称,最初为null
。protected String
nativeStreamMetadataFormatClassName
AString
其中包含此插件支持的本机流元数据格式的类名,最初为null
。protected String
nativeStreamMetadataFormatName
AString
其中包含此插件支持的本机流元数据格式的名称,最初为null
。protected String
pluginClassName
AString
包含相关插件类的名称,最初为null
。protected String[]
suffixes
要从getFileSuffixes
返回的字符串数组,最初为null
。protected boolean
supportsStandardImageMetadataFormat
一个布尔值,表示此插件是否支持图像元数据的标准元数据格式,最初为false
。protected boolean
supportsStandardStreamMetadataFormat
一个布尔值,表示此插件是否支持流元数据的标准元数据格式,最初为false
。-
Fields inherited from class javax.imageio.spi.IIOServiceProvider
vendorName, version
-
-
构造方法摘要
构造方法 Constructor 描述 ImageReaderWriterSpi()
构造一个空白ImageReaderWriterSpi
。ImageReaderWriterSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String pluginClassName, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
构造一个给定值的一个ImageReaderWriterSpi
。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 String[]
getExtraImageMetadataFormatNames()
返回一个包含String
s的数组,String
包含由此插件生成或使用的图像元数据对象上的getAsTree
和setFromTree
方法识别的其他文档格式(本机和标准格式)。String[]
getExtraStreamMetadataFormatNames()
返回一个包含String
s的数组,String
包含由此插件生成或使用的流元数据对象上的getAsTree
和setFromTree
方法识别的本机和标准格式以外的其他文档格式的名称。String[]
getFileSuffixes()
返回一个包含String
s的数组,String
包含与此服务提供商相关联的ImageReader
或ImageWriter
实现通常可用的格式相关联的文件后缀列表。String[]
getFormatNames()
返回String
的数组,String
包含与此服务提供商相关联的ImageReader
或ImageWriter
实现通常可用的格式的可读取名称。IIOMetadataFormat
getImageMetadataFormat(String formatName)
返回一个IIOMetadataFormat
对象描述给定的图像的元数据格式,或null
如果没有可用的描述。String[]
getMIMETypes()
返回一个包含String
的数组,String
包含与此服务提供商关联的ImageReader
或ImageWriter
实现通常可用的格式相关联的MIME类型列表。String
getNativeImageMetadataFormatName()
返回此插件的“本机”图像元数据格式的名称,通常允许以由该插件处理的格式存储的图像元数据的无损编码和传输。String
getNativeStreamMetadataFormatName()
返回此插件的“本机”流元数据格式的名称,通常允许以该插件处理的格式存储的流元数据进行无损编码和传输。String
getPluginClassName()
返回与该服务提供商关联的ImageReader
或ImageWriter
插件的完全限定类名。IIOMetadataFormat
getStreamMetadataFormat(String formatName)
返回一个IIOMetadataFormat
对象描述给定的流元数据格式,或null
如果没有可用的描述。boolean
isStandardImageMetadataFormatSupported()
返回true
如果标准元数据格式是由所述识别的文档格式中getAsTree
种setFromTree
上产生或通过此插件消耗的图像元数据对象的方法。boolean
isStandardStreamMetadataFormatSupported()
返回true
如果标准元数据格式是由所述识别的文档格式中getAsTree
种setFromTree
上产生或通过此插件消耗的流元数据对象的方法。-
Methods inherited from class javax.imageio.spi.IIOServiceProvider
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
-
-
-
-
字段详细信息
-
names
protected String[] names
要从getFormatNames
返回的字符串数组,最初为null
。 构造函数应该将其设置为非null
值。
-
suffixes
protected String[] suffixes
要从getFileSuffixes
返回的字符串数组,最初为null
。
-
MIMETypes
protected String[] MIMETypes
要从getMIMETypes
返回的字符串数组,最初为null
。
-
pluginClassName
protected String pluginClassName
AString
包含相关插件类的名称,最初为null
。
-
supportsStandardStreamMetadataFormat
protected boolean supportsStandardStreamMetadataFormat
一个布尔值,指示此插件是否支持流元数据的标准元数据格式,最初为false
。
-
nativeStreamMetadataFormatName
protected String nativeStreamMetadataFormatName
AString
包含此插件支持的本机流元数据格式的名称,最初为null
。
-
nativeStreamMetadataFormatClassName
protected String nativeStreamMetadataFormatClassName
AString
其中包含此插件支持的本机流元数据格式的类名,最初为null
。
-
extraStreamMetadataFormatNames
protected String[] extraStreamMetadataFormatNames
包含String
的数组,String
包含此插件支持的任何其他流元数据格式的名称,最初为null
。
-
extraStreamMetadataFormatClassNames
protected String[] extraStreamMetadataFormatClassNames
String
的数组包含该插件支持的任何其他流元数据格式的类名,最初为null
。
-
supportsStandardImageMetadataFormat
protected boolean supportsStandardImageMetadataFormat
一个布尔值,表示该插件是否支持图像元数据的标准元数据格式,最初为false
。
-
nativeImageMetadataFormatName
protected String nativeImageMetadataFormatName
AString
包含此插件支持的本地流元数据格式的名称,最初为null
。
-
nativeImageMetadataFormatClassName
protected String nativeImageMetadataFormatClassName
AString
其中包含此插件支持的本机流元数据格式的类名,最初为null
。
-
extraImageMetadataFormatNames
protected String[] extraImageMetadataFormatNames
String
的数组包含该插件支持的任何其他图像元数据格式的名称,最初为null
。
-
extraImageMetadataFormatClassNames
protected String[] extraImageMetadataFormatClassNames
String
的数组包含该插件支持的任何其他图像元数据格式的类名,最初为null
。
-
-
构造方法详细信息
-
ImageReaderWriterSpi
public ImageReaderWriterSpi(String vendorName, String version, String[] names, String[] suffixes, String[] MIMETypes, String pluginClassName, boolean supportsStandardStreamMetadataFormat, String nativeStreamMetadataFormatName, String nativeStreamMetadataFormatClassName, String[] extraStreamMetadataFormatNames, String[] extraStreamMetadataFormatClassNames, boolean supportsStandardImageMetadataFormat, String nativeImageMetadataFormatName, String nativeImageMetadataFormatClassName, String[] extraImageMetadataFormatNames, String[] extraImageMetadataFormatClassNames)
构造一个具有给定值的值的ImageReaderWriterSpi
。- 参数
-
vendorName
- 供应商名称,非null
String
。 -
version
- 版本标识符,非null
String
。 -
names
- 表示格式名称的String
的非null
数组。 必须至少有一个条目。 -
suffixes
- 表示公共文件后缀的String
s的数组。 如果未定义任何后缀,则应提供null
。 长度为0的数组将被归一化为null
。 -
MIMETypes
- 表示格式的MIME类型的String
的数组。 如果未定义MIME类型,则应提供null
。 长度为0的数组将被归一化为null
。 -
pluginClassName
- 相关联的ImageReader
或ImageWriter
类的完全限定名称,作为非null String
。 -
supportsStandardStreamMetadataFormat
- 表示流元数据对象是否可以使用由标准元数据格式描述的树的boolean
。 -
nativeStreamMetadataFormatName
- aString
或null
,将从getNativeStreamMetadataFormatName
返回。 -
nativeStreamMetadataFormatClassName
- aString
或null
,用于实例化从getNativeStreamMetadataFormat
返回的元数据格式对象。 -
extraStreamMetadataFormatNames
- 要从getExtraStreamMetadataFormatNames
返回的String
s或null
的数组。 长度为0的数组被归一化为null
。 -
extraStreamMetadataFormatClassNames
- 用于实例化从getStreamMetadataFormat
返回的元数据格式对象的String
或null
的数组。 长度为0的数组被归一化为null
。 -
supportsStandardImageMetadataFormat
- 表示图像元数据对象是否可以使用由标准元数据格式描述的树的boolean
。 -
nativeImageMetadataFormatName
- aString
或null
,由getNativeImageMetadataFormatName
。 -
nativeImageMetadataFormatClassName
- aString
或null
,用于实例化从getNativeImageMetadataFormat
返回的元数据格式对象。 -
extraImageMetadataFormatNames
-的阵列String
从返回小号getExtraImageMetadataFormatNames
。 长度为0的数组被归一化为null
。 -
extraImageMetadataFormatClassNames
- 用于实例化要从getImageMetadataFormat
返回的元数据格式对象的String
s或null
的数组。 长度为0的数组被归一化为null
。 - 异常
-
IllegalArgumentException
- 如果vendorName
是null
。 -
IllegalArgumentException
- 如果version
是null
。 -
IllegalArgumentException
- 如果names
为null
或长度为0。 -
IllegalArgumentException
- 如果pluginClassName
是null
。
-
ImageReaderWriterSpi
public ImageReaderWriterSpi()
构造一个空白ImageReaderWriterSpi
。 初始化实例变量和/或覆盖方法实现的子类是为了提供所有方法的工作版本。
-
-
方法详细信息
-
getFormatNames
public String[] getFormatNames()
返回String
的数组,String
包含与此服务提供商相关联的ImageReader
或ImageWriter
实现通常可用的格式的可读取名称。 例如,单个ImageReader
可能能够处理PBM和PNM文件。- 结果
-
非
null
阵列的String
S或长度至少为1,包含与此读取器或写入器相关联的非正式格式名称。
-
getFileSuffixes
public String[] getFileSuffixes()
返回一个包含String
s的数组,String
包含与此服务提供商关联的ImageReader
或ImageWriter
实现通常可用的格式相关联的文件后缀列表。 例如,单个ImageReader
可能能够处理具有'.pbm'和'.pnm'后缀的文件,或'.jpg'和'.jpeg'后缀。 如果没有已知的文件后缀,将返回null
。返回特定后缀不能保证具有该后缀的文件可以被处理; 它仅表示可能值得尝试使用该服务提供商对这样的文件进行解码或编码。
- 结果
-
String
的数组或长度至少为1的数组,其中包含与该读写器相关联的公用文件后缀,或null
。
-
getMIMETypes
public String[] getMIMETypes()
返回一个包含String
的数组,String
包含与此服务提供商关联的ImageReader
或ImageWriter
实现通常可用的格式相关联的MIME类型列表。理想情况下,为了描述特定的格式,只需要一个MIME类型。 然而,由于几个原因,有必要将每个服务提供商的类型列表关联起来。 首先,许多常见的图像文件格式不具有标准MIME类型,因此将需要常用的非官方名称列表,例如
image/x-pbm
和image/x-portable-bitmap
。 某些文件格式具有官方MIME类型,但有时可以使用其以前的非官方名称来引用,例如image/x-png
而不是官方的image/png
。 最后,单个服务提供商可能能够从MIME的角度解析多个不同类型,例如image/x-xbitmap
和image/x-xpixmap
。返回特定的MIME类型并不能保证声称是该类型的文件可以被处理; 它仅表示可能值得尝试使用该服务提供商对这样的文件进行解码或编码。
- 结果
-
String
的数组或长度至少包含与此读者或作者相关联的MIME类型的数组,或null
。
-
getPluginClassName
public String getPluginClassName()
返回与此服务提供商关联的ImageReader
或ImageWriter
插件的完全限定类名。- 结果
-
该类名称,作为非
null
String
。
-
isStandardStreamMetadataFormatSupported
public boolean isStandardStreamMetadataFormatSupported()
返回true
如果标准元数据格式是由所述识别的文档格式中getAsTree
种setFromTree
上产生或通过此插件消耗的流元数据对象的方法。- 结果
-
true
如果流元数据支持标准格式。
-
getNativeStreamMetadataFormatName
public String getNativeStreamMetadataFormatName()
返回此插件的“本机”流元数据格式的名称,通常允许以该插件处理的格式存储的流元数据进行无损编码和传输。 如果不支持此格式,将返回null
。默认实现返回
nativeStreamMetadataFormatName
实例变量,通常由构造函数设置。- 结果
-
本机流元数据格式的名称,或
null
。
-
getExtraStreamMetadataFormatNames
public String[] getExtraStreamMetadataFormatNames()
返回一个包含String
的数组,String
包含由此插件生成或使用的流元数据对象上的getAsTree
和setFromTree
方法识别的本机和标准格式以外的其他文档格式的名称。如果插件不处理元数据,则应返回null。
这些格式可能会根据读取或写入的特定图像而有所不同; 此方法应指出插件在任何情况下支持的所有其他格式。
默认实现返回
extraStreamMetadataFormatNames
实例变量的克隆,通常由构造函数设置。- 结果
-
一个
String
s的数组,或null。 - 另请参见:
-
IIOMetadata.getMetadataFormatNames()
,getExtraImageMetadataFormatNames()
,getNativeStreamMetadataFormatName()
-
isStandardImageMetadataFormatSupported
public boolean isStandardImageMetadataFormatSupported()
返回true
如果标准元数据格式是由所述识别的文档格式中getAsTree
种setFromTree
上产生或通过此插件消耗的图像元数据对象的方法。- 结果
-
true
如果图像元数据支持标准格式。
-
getNativeImageMetadataFormatName
public String getNativeImageMetadataFormatName()
返回此插件的“本机”图像元数据格式的名称,通常允许以由该插件处理的格式存储的图像元数据的无损编码和传输。 如果不支持此格式,将返回null
。默认实现返回
nativeImageMetadataFormatName
实例变量,通常由构造函数设置。- 结果
-
原生图像元数据格式的名称,或
null
。 - 另请参见:
-
getExtraImageMetadataFormatNames()
-
getExtraImageMetadataFormatNames
public String[] getExtraImageMetadataFormatNames()
返回一个包含String
s的数组,String
包含由此插件生成或使用的图像元数据对象上的getAsTree
和setFromTree
方法识别的其他文档格式(本机和标准格式)。如果插件不处理图像元数据,则应返回null。
这些格式可能会根据读取或写入的特定图像而有所不同; 此方法应指出插件在任何情况下支持的所有其他格式。
默认实现返回一个由构造函数设置的
extraImageMetadataFormatNames
实例变量的克隆。- 结果
-
一个
String
s的数组,或null。 - 另请参见:
-
IIOMetadata.getMetadataFormatNames()
,getExtraStreamMetadataFormatNames()
,getNativeImageMetadataFormatName()
-
getStreamMetadataFormat
public IIOMetadataFormat getStreamMetadataFormat(String formatName)
返回一个IIOMetadataFormat
对象描述给定的流元数据格式,或null
如果没有可用的描述。 提供的名称必须是本地流元数据格式名称,标准元数据格式名称,或getExtraStreamMetadataFormatNames
返回的其中一个。- 参数
-
formatName
- 所需的流元数据格式。 - 结果
-
一个
IIOMetadataFormat
对象。 - 异常
-
IllegalArgumentException
- 如果formatName
是null
或不是支持的名称。
-
getImageMetadataFormat
public IIOMetadataFormat getImageMetadataFormat(String formatName)
返回一个IIOMetadataFormat
对象描述给定的图像的元数据格式,或null
如果没有可用的描述。 提供的名称必须是原始图像元数据格式名称,标准元数据格式名称,或getExtraImageMetadataFormatNames
返回的其中一个。- 参数
-
formatName
- 所需的图像元数据格式。 - 结果
-
一个
IIOMetadataFormat
对象。 - 异常
-
IllegalArgumentException
- 如果formatName
是null
或不是支持的名称。
-
-