Module java.desktop

Class ImageReaderWriterSpi

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

public abstract class ImageReaderWriterSpi extends IIOServiceProvider
包含ImageReaderSpiImageWriterSpi共有实例变量和方法的超类。
参见:
  • Field Details

    • names

      protected String[] names
      一个将从getFormatNames返回的String数组,最初为null。构造函数应将其设置为非null值。
    • suffixes

      protected String[] suffixes
      一个将从getFileSuffixes返回的String数组,最初为null
    • MIMETypes

      protected String[] MIMETypes
      一个将从getMIMETypes返回的String数组,最初为null
    • pluginClassName

      protected String pluginClassName
      一个包含关联插件类名称的String,最初为null
    • supportsStandardStreamMetadataFormat

      protected boolean supportsStandardStreamMetadataFormat
      一个指示此插件是否支持流元数据的标准元数据格式的布尔值,最初为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
      一个指示此插件是否支持图像元数据的标准元数据格式的布尔值,最初为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
  • Constructor Details

    • 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 - 一个String数组,指示格式的MIME类型。如果未定义MIME类型,则应提供null。长度为0的数组将被规范化为null
      pluginClassName - 关联的ImageReaderImageWriter类的完全限定名称,作为非null String
      supportsStandardStreamMetadataFormat - 一个指示流元数据对象是否可以使用标准元数据格式描述的树的boolean值。
      nativeStreamMetadataFormatName - 一个String,或null,将从getNativeStreamMetadataFormatName返回。
      nativeStreamMetadataFormatClassName - 一个String,或null,用于实例化从getNativeStreamMetadataFormat返回的元数据格式对象。
      extraStreamMetadataFormatNames - 一个String数组,或null,将从getExtraStreamMetadataFormatNames返回。长度为0的数组将被规范化为null
      extraStreamMetadataFormatClassNames - 一个String数组,或null,用于实例化从getStreamMetadataFormat返回的元数据格式对象。长度为0的数组将被规范化为null
      supportsStandardImageMetadataFormat - 一个指示图像元数据对象是否可以使用标准元数据格式描述的树的boolean值。
      nativeImageMetadataFormatName - 一个String,或null,将从getNativeImageMetadataFormatName返回。
      nativeImageMetadataFormatClassName - 一个String,或null,用于实例化从getNativeImageMetadataFormat返回的元数据格式对象。
      extraImageMetadataFormatNames - 一个String数组,将从getExtraImageMetadataFormatNames返回。长度为0的数组将被规范化为null
      extraImageMetadataFormatClassNames - 一个String数组,或null,用于实例化从getImageMetadataFormat返回的元数据格式对象。长度为0的数组将被规范化为null
      抛出:
      IllegalArgumentException - 如果vendorNamenull
      IllegalArgumentException - 如果versionnull
      IllegalArgumentException - 如果namesnull或长度为0。
      IllegalArgumentException - 如果pluginClassNamenull
    • ImageReaderWriterSpi

      public ImageReaderWriterSpi()
      构造一个空的ImageReaderWriterSpi。由子类初始化实例变量和/或覆盖方法实现,以提供所有方法的工作版本。
  • Method Details

    • getFormatNames

      public String[] getFormatNames()
      返回一个包含可由与此服务提供程序关联的ImageReaderImageWriter实现通常可用的格式的人类可读名称的String数组。例如,单个ImageReader可能能够处理PBM和PNM文件。
      返回:
      一个非nullString数组,或至少包含1个与此读取器或写入器关联的非正式格式名称。
    • getFileSuffixes

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

      返回特定后缀并不保证可以处理具有该后缀的文件;它仅表示尝试使用此服务提供程序解码或编码此类文件可能是值得的。

      返回:
      一个包含与此读取器或写入器关联的常见文件后缀的String数组,或null
    • getMIMETypes

      public String[] getMIMETypes()
      返回一个包含与与此服务提供程序关联的ImageReaderImageWriter实现通常可用的格式相关的MIME类型列表的String数组。

      理想情况下,为了描述特定格式,只需要一个MIME类型。然而,出于几个原因,有必要将一系列类型与每个服务提供程序关联起来。首先,许多常见的图像文件格式没有标准的MIME类型,因此将需要一组常用的非官方名称,例如image/x-pbmimage/x-portable-bitmap。一些文件格式具有官方的MIME类型,但有时可能会使用它们以前的非官方名称,例如image/x-png而不是官方的image/png。最后,单个服务提供程序可能能够从MIME的角度解析多个不同类型,例如image/x-xbitmapimage/x-xpixmap

      返回特定的MIME类型并不保证可以处理声称属于该类型的文件;它仅表示尝试使用此服务提供程序解码或编码此类文件可能是值得的。

      返回:
      一个包含与此读取器或写入器关联的MIME类型的String数组,或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。
      参见:
    • isStandardImageMetadataFormatSupported

      public boolean isStandardImageMetadataFormatSupported()
      如果标准元数据格式包含在此插件生成或消耗的图像元数据对象的getAsTreesetFromTree方法识别的文档格式中,则返回true
      返回:
      如果标准格式支持图像元数据,则返回true
    • getNativeImageMetadataFormatName

      public String getNativeImageMetadataFormatName()
      返回此插件的“本机”图像元数据格式的名称,通常允许以无损方式对由此插件处理的格式中存储的图像元数据进行编码和传输。如果不支持此类格式,则将返回null

      默认实现返回nativeImageMetadataFormatName实例变量,通常由构造函数设置。

      返回:
      本机图像元数据格式的名称,或null
      参见:
    • getExtraImageMetadataFormatNames

      public String[] getExtraImageMetadataFormatNames()
      返回一个包含除本机和标准格式之外,由此插件生成或消耗的图像元数据对象的getAsTreesetFromTree方法识别的其他文档格式的名称的String数组。

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

      根据正在读取或写入的特定图像,格式集可能会有所不同;此方法应指示插件在任何情况下支持的所有附加格式。

      默认实现返回extraImageMetadataFormatNames实例变量的克隆,通常由构造函数设置。

      返回值:
      一个String数组,或者为null。
      参见:
    • 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或不是受支持的名称。