javax.imageio.spi

接口
java.lang.Object
  继承者 javax.imageio.spi.IIOServiceProvider
      继承者 javax.imageio.spi.ImageReaderWriterSpi
所有已实现的接口:
RegisterableService
直接已知子类:
ImageReaderSpi, ImageWriterSpi

public abstract class ImageReaderWriterSpi
     
extends IIOServiceProvider

包含 ImageReaderSpiImageWriterSpi 常用实例变量和方法的一个超类。

另请参见:
IIORegistry, ImageReaderSpi, ImageWriterSpi

字段摘要
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
          包含此插件支持的本地流元数据格式的类名称的 String,该字符串最初为 null
protected  String nativeImageMetadataFormatName
          包含此插件支持的本地流元数据格式名称的 String,该字符串最初为 null
protected  String nativeStreamMetadataFormatClassName
          包含此插件支持的本地流元数据格式的类名称的 String,初始为 null
protected  String nativeStreamMetadataFormatName
          包含此插件支持的本地流元数据格式名称的 String,该字符串最初为 null
protected  String pluginClassName
          包含关联的插件类名称的 String,该字符串最初为 null
protected  String[] suffixes
          从 getFileSuffixes 返回的字符串数组,该数组最初为 null
protected  boolean supportsStandardImageMetadataFormat
          指示此插件是否支持图像元数据的标准元数据格式的 boolean 值,该值最初为 false
protected  boolean supportsStandardStreamMetadataFormat
          指示此插件是否支持流元数据的标准元数据格式的 boolean 值,该值最初为 false
 
从类 javax.imageio.spi.IIOServiceProvider 继承的字段
vendorName, version
 
构造方法摘要
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
 
方法摘要
 String[] getExtraImageMetadataFormatNames()
          返回包含其他文档格式名称,而不是此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法可识别的本地和标准格式的 String 数组。
 String[] getExtraStreamMetadataFormatNames()
          返回包含其他文档格式名称,而不是此插件生成或使用的流元数据对象的 getAsTreesetFromTree 方法可识别的本地和标准格式的 String 数组。
 String[] getFileSuffixes()
          返回一个包含通常可由与此服务提供者关联的 ImageReaderImageWriter 实现所用格式所关联文件后缀列表的 String 数组。
 String[] getFormatNames()
          返回一个 String 数组,该数组包含通常由与此服务提供者关联的 ImageReaderImageWriter 实现使用的那些格式的可读名称。
 IIOMetadataFormat getImageMetadataFormat(String formatName)
          返回描述给定的图像元数据格式的 IIOMetadataFormat 对象,如果没有可用的描述,则返回 null
 String[] getMIMETypes()
          返回一个 String 数组,该数组包含与通常由与此服务提供者关联的 ImageReaderImageWriter 实现使用的格式有关的 MIME 类型的列表。
 String getNativeImageMetadataFormatName()
          返回此插件的“本地”图像元数据格式的名称,它通常允许无损失地编码或传输按照由此插件处理的格式存储的图像元数据。
 String getNativeStreamMetadataFormatName()
          返回此插件的“本地”流元数据格式的名称,它通常允许无损失地编码和传输按照由此插件处理的格式存储的流元数据。
 String getPluginClassName()
          返回与此服务提供者关联的 ImageReaderImageWriter 插件的完全限定类名称。
 IIOMetadataFormat getStreamMetadataFormat(String formatName)
          返回描述给定的流元数据格式的 IIOMetadataFormat 对象,如果没有可用的描述,则返回 null
 boolean isStandardImageMetadataFormatSupported()
          如果标准元数据格式为此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法可识别的文档格式之一,则返回 true
 boolean isStandardStreamMetadataFormatSupported()
          如果标准元数据格式是此插件生成或使用的流元数据对象的 getAsTreesetFromTree 方法能够识别的文档格式之一,则返回 true
 
从类 javax.imageio.spi.IIOServiceProvider 继承的方法
getDescription, getVendorName, getVersion, onDeregistration, onRegistration
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

names

protected String[] names
getFormatNames 返回的字符串数组,该数组最初为 null。构造方法应将此字符串设置为一个非 null 值。


suffixes

protected String[] suffixes
getFileSuffixes 返回的字符串数组,该数组最初为 null


MIMETypes

protected String[] MIMETypes
getMIMETypes 返回的字符串数组,该数组最初为 null


pluginClassName

protected String pluginClassName
包含关联的插件类名称的 String,该字符串最初为 null


supportsStandardStreamMetadataFormat

protected boolean supportsStandardStreamMetadataFormat
指示此插件是否支持流元数据的标准元数据格式的 boolean 值,该值最初为 false


nativeStreamMetadataFormatName

protected String nativeStreamMetadataFormatName
包含此插件支持的本地流元数据格式名称的 String,该字符串最初为 null


nativeStreamMetadataFormatClassName

protected String nativeStreamMetadataFormatClassName
包含此插件支持的本地流元数据格式的类名称的 String,初始为 null


extraStreamMetadataFormatNames

protected String[] extraStreamMetadataFormatNames
包含此插件支持的其他任何流元数据格式的名称的 String 数组,该字符串最初为 null


extraStreamMetadataFormatClassNames

protected String[] extraStreamMetadataFormatClassNames
包含此插件支持的其他任何流元数据格式的类名称的 String 数组,该数组最初为 null


supportsStandardImageMetadataFormat

protected boolean supportsStandardImageMetadataFormat
指示此插件是否支持图像元数据的标准元数据格式的 boolean 值,该值最初为 false


nativeImageMetadataFormatName

protected String nativeImageMetadataFormatName
包含此插件支持的本地流元数据格式名称的 String,该字符串最初为 null


nativeImageMetadataFormatClassName

protected String nativeImageMetadataFormatClassName
包含此插件支持的本地流元数据格式的类名称的 String,该字符串最初为 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 - 供应商名称,它是一个非 nullString
version - 版本标识符,它是一个非 nullString
names - 指示格式名称的一个非 nullString 数组。必须至少有一个项。
suffixes - 指示常用文件后缀的 String 数组。如果未定义后缀,则应指定为 null。长度为 0 的数组将被标准化为 null
MIMETypes - 指示格式的 MIME 类型的 String 数组。如果未定义 MIME 类型,则应指定为 null。长度为 0 的数组将被标准化为 null
pluginClassName - 所关联的 ImageReaderImageWriter 类的完全限定名,它为一个非 nullString
supportsStandardStreamMetadataFormat - 一个 boolean 值,指示流元数据对象是否可使用由标准元数据格式描述的树。
nativeStreamMetadataFormatName - 将从 getNativeStreamMetadataFormatName 返回的一个 String,或者为 null
nativeStreamMetadataFormatClassName - 将用于实例化从 getNativeStreamMetadataFormat 返回的元数据格式对象的 String,或者为 null
extraStreamMetadataFormatNames - 将从 getExtraStreamMetadataFormatNames 返回的 String 数组,或者为 null。长度为 0 的数组将被标准化为 null
extraStreamMetadataFormatClassNames - 将用于实例化从 getStreamMetadataFormat 返回的元数据格式对象的 String 数组,或者为 null。长度为 0 的数组将被标准化为 null
supportsStandardImageMetadataFormat - 一个 boolean 值,指示图像元数据对象是否可使用由标准元数据格式描述的树。
nativeImageMetadataFormatName - 将从 getNativeImageMetadataFormatName 返回的一个 String,或者为 null
nativeImageMetadataFormatClassName - 将用于实例化从 getNativeImageMetadataFormat 返回的元数据格式对象的 String,或者为 null
extraImageMetadataFormatNames - 将从 getExtraImageMetadataFormatNames 返回的 String 数组。长度为 0 的数组将被标准化为 null
extraImageMetadataFormatClassNames - 将用于实例化从 getImageMetadataFormat 返回的元数据格式对象的 String 数组,或者为 null。长度为 0 的数组将被标准化为 null
抛出:
IllegalArgumentException - 如果 vendorNamenull
IllegalArgumentException - 如果 versionnull
IllegalArgumentException - 如果 namesnull 或长度为 0。
IllegalArgumentException - 如果 pluginClassNamenull

ImageReaderWriterSpi

public ImageReaderWriterSpi()
构造一个空的 ImageReaderWriterSpi。为提供所有方法的可用版本,由子类负责初始化实例变量和/或重写方法实现。

方法详细信息

getFormatNames

public String[] getFormatNames()
返回一个 String 数组,该数组包含通常由与此服务提供者关联的 ImageReaderImageWriter 实现使用的那些格式的可读名称。例如,单独一个 ImageReader 就可以处理 PBM 和 PNM 文件。

返回:
nullString 数组,或者返回一个长度至少为 1 的、包含与此 reader 或 writer 关联的非正式格式名称的数组。

getFileSuffixes

public String[] getFileSuffixes()
返回一个包含通常可由与此服务提供者关联的 ImageReaderImageWriter 实现所用格式所关联文件后缀列表的 String 数组。例如,单独一个 ImageReader 就可以处理带 '.pbm' 和 '.pnm' 或 '.jpg' 和 '.jpeg' 后缀的文件。如果没有已知的文件后缀,则返回 null

返回一个特定的后缀并不保证能够处理具有此后缀的文件;它仅仅指示值得尝试使用此服务提供者解码或编码这样的文件。

返回:
String 数组,或者返回一个长度至少为 1 的、包含与此 reader 或 writer 关联的常用文件后缀的数组,抑或返回 null

getMIMETypes

public String[] getMIMETypes()
返回一个 String 数组,该数组包含与通常由与此服务提供者关联的 ImageReaderImageWriter 实现使用的格式有关的 MIME 类型的列表。

理想的情况下,描述一个特定的格式只需要单独某一 MIME 类型。但是,由于种种原因,有必要为每个服务提供者关联一个类型列表。首先,许多常见图像文件不具有标准的 MIME 类型,所以需要一个常用的非正式名称列表,例如 image/x-pbmimage/x-portable-bitmap。有些文件格式虽然具有正式的 MIME 类型,但有时被指示使用它们以前的非正式指定,例如使用 image/x-png 而不使用正式的 image/png。最后,从 MIME 的角度来讲,单个服务提供者能够分析多个不同的类型,例如 image/x-xbitmapimage/x-xpixmap

返回一个特定的 MIME 类型并不保证能够处理声明为此类型的文件;它仅仅指示值得尝试使用此服务提供者解码或编码这样的文件。

返回:
String 数组或长度至少为 1 的、包含与此 reader 或 writer 关联的 MIME 类型的数组,或者返回 null

getPluginClassName

public String getPluginClassName()
返回与此服务提供者关联的 ImageReaderImageWriter 插件的完全限定类名称。

返回:
类名,它是一个非 nullString

isStandardStreamMetadataFormatSupported

public boolean isStandardStreamMetadataFormatSupported()
如果标准元数据格式是此插件生成或使用的流元数据对象的 getAsTreesetFromTree 方法能够识别的文档格式之一,则返回 true

返回:
如果标准格式是流元数据支持的格式,则返回 true

getNativeStreamMetadataFormatName

public String getNativeStreamMetadataFormatName()
返回此插件的“本地”流元数据格式的名称,它通常允许无损失地编码和传输按照由此插件处理的格式存储的流元数据。如果不支持这样的格式,将返回 null

默认实现返回 nativeStreamMetadataFormatName 实例变量,这通常由构造方法设置。

返回:
本地流元数据格式的名称,或返回 null

getExtraStreamMetadataFormatNames

public String[] getExtraStreamMetadataFormatNames()
返回包含其他文档格式名称,而不是此插件生成或使用的流元数据对象的 getAsTreesetFromTree 方法可识别的本地和标准格式的 String 数组。

如果插件不处理元数据,则应返回 null。

格式集可能因读取或写入的特定图像而不同;此方法应指示插件在任何情况下都支持的其他所有格式。

默认实现返回 extraStreamMetadataFormatNames 实例变量的副本,该变量通常由构造方法设置。

返回:
String 数组,或返回 null。
另请参见:
IIOMetadata.getMetadataFormatNames(), getExtraImageMetadataFormatNames(), getNativeStreamMetadataFormatName()

isStandardImageMetadataFormatSupported

public boolean isStandardImageMetadataFormatSupported()
如果标准元数据格式为此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法可识别的文档格式之一,则返回 true

返回:
如果标准格式支持图像元数据,则返回 true

getNativeImageMetadataFormatName

public String getNativeImageMetadataFormatName()
返回此插件的“本地”图像元数据格式的名称,它通常允许无损失地编码或传输按照由此插件处理的格式存储的图像元数据。如果不支持这样的格式,将返回 null

默认实现返回 nativeImageMetadataFormatName 实例变量,该变量通常由构造方法设置。

返回:
本地图像元数据格式的名称,或返回 null
另请参见:
getExtraImageMetadataFormatNames()

getExtraImageMetadataFormatNames

public String[] getExtraImageMetadataFormatNames()
返回包含其他文档格式名称,而不是此插件生成或使用的图像元数据对象的 getAsTreesetFromTree 方法可识别的本地和标准格式的 String 数组。

如果插件不处理图像元数据,则应返回 null。

格式集可能因读取或写入的特定图像而有所不同;此方法应指示插件在任何情况下都支持的其他所有格式。

默认的实现返回 extraImageMetadataFormatNames 实例变量的副本,该变量通常由构造方法设置。

返回:
String 数组,或返回 null。
另请参见:
IIOMetadata.getMetadataFormatNames(), getExtraStreamMetadataFormatNames(), getNativeImageMetadataFormatName()

getStreamMetadataFormat

public IIOMetadataFormat getStreamMetadataFormat(String formatName)
返回描述给定的流元数据格式的 IIOMetadataFormat 对象,如果没有可用的描述,则返回 null。给定的名称必须是本地流元数据格式名称、标准元数据格式名称或由 getExtraStreamMetadataFormatNames 返回的格式名称之一。

参数:
formatName - 需要的流元数据格式。
返回:
IIOMetadataFormat 对象。
抛出:
IllegalArgumentException - 如果 formatNamenull 或者是不受支持的名称。

getImageMetadataFormat

public IIOMetadataFormat getImageMetadataFormat(String formatName)
返回描述给定的图像元数据格式的 IIOMetadataFormat 对象,如果没有可用的描述,则返回 null。给定的名称必须是本地图像元数据格式名称、标准元数据格式名称或由 getExtraImageMetadataFormatNames 返回的格式名称之一。

参数:
formatName - 需要的图像元数据格式。
返回:
IIOMetadataFormat 对象。
抛出:
IllegalArgumentException - 如果 formatNamenull 或者是不受支持的名称。