JavaTM 2 Platform
Standard Ed. 5.0

javax.imageio.metadata
类 IIOMetadataFormatImpl

java.lang.Object
  继承者 javax.imageio.metadata.IIOMetadataFormatImpl
所有已实现的接口:
IIOMetadataFormat

public abstract class IIOMetadataFormatImpl
extends Object
implements IIOMetadataFormat

提供 IIOMetadataFormat 接口的可重用实现的具体类。此外,通过 getStandardFormatInstance 方法提供一个表示标准的、插件无关的 javax_imageio_1.0 格式的静态实例。

为了提供元素和属性的本地化的描述,应该通过 ResourceBundle.getBundle 使用的常规机制来提供基本名称为 this.getClass().getName() + "Resources"ResourceBundle。简单地说,子类根据命名约定(默认情况下为扩展 IIMetadataFormatImpl 的子类的完全限定名,加上字符串 "Resources",加上国家/地区、语言和由下划线分隔的变体代码)提供一个或多个其他类。在运行期间,调用 getElementDescriptiongetAttributeDescription 将尝试根据提供的语言环境动态加载这些类,并将使用元素名称或者后跟 '/' 字符再后跟作为键的属性名的元素名称。此键将提供给 ResourceBundlegetString 方法,并返回所得到的节点或属性的本地化描述。

子类可以使用 setResourceBaseName 方法为资源包提供另外的基本名称。

在需要时,子类可以通过重写提供的 getElementDescriptiongetAttributeDescription 实现来选择它自己的本地化机制。

另请参见:
ResourceBundle.getBundle(String,Locale)

字段摘要
static String standardMetadataFormatName
          包含标准格式名称 "javax_imageio_1.0"String 常量。
 
从接口 javax.imageio.metadata.IIOMetadataFormat 继承的字段
CHILD_POLICY_ALL, CHILD_POLICY_CHOICE, CHILD_POLICY_EMPTY, CHILD_POLICY_MAX, CHILD_POLICY_REPEAT, CHILD_POLICY_SEQUENCE, CHILD_POLICY_SOME, DATATYPE_BOOLEAN, DATATYPE_DOUBLE, DATATYPE_FLOAT, DATATYPE_INTEGER, DATATYPE_STRING, VALUE_ARBITRARY, VALUE_ENUMERATION, VALUE_LIST, VALUE_NONE, VALUE_RANGE, VALUE_RANGE_MAX_INCLUSIVE, VALUE_RANGE_MAX_INCLUSIVE_MASK, VALUE_RANGE_MIN_INCLUSIVE, VALUE_RANGE_MIN_INCLUSIVE_MASK, VALUE_RANGE_MIN_MAX_INCLUSIVE
 
构造方法摘要
IIOMetadataFormatImpl(String rootName, int childPolicy)
          构造一个空的 IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略(CHILD_POLICY_REPEAT 除外)。
IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
          构造一个空的 IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略 CHILD_POLICY_REPEAT
 
方法摘要
protected  void addAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)
          将新属性添加到以前定义的元素中,该元素将由值的列表定义。
protected  void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)
          将新属性添加到以前定义的可以被设置为任意值的元素中。
protected  void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)
          将新属性添加到以前定义的元素中,该元素将由一组枚举值定义。
protected  void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)
          将新属性添加到以前定义的元素中,该元素将由一系列值定义。
protected  void addBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)
          将新属性添加到以前定义的元素中,该元素将由枚举值 TRUEFALSE 定义,数据类型为 DATATYPE_BOOLEAN
protected  void addChildElement(String elementName, String parentName)
          将现有元素添加到给定父节点类型的合法子节点的列表中。
protected  void addElement(String elementName, String parentName, int childPolicy)
          使用某个子策略(CHILD_POLICY_REPEAT 除外)将新元素类型添加到此元数据文档格式中。
protected  void addElement(String elementName, String parentName, int minChildren, int maxChildren)
          使用子策略 CHILD_POLICY_REPEAT 将新元素类型添加到此元数据文档格式中。
protected  void addObjectValue(String elementName, Class<?> classType, int arrayMinLength, int arrayMaxLength)
          允许将给定类类型的 Object 引用存储在实现指定元素的节点中。
protected
<T> void
addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue)
          允许将给定类类型的 Object 引用存储在实现指定元素的节点中。
protected
<T> void
addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)
          允许将给定类类型的 Object 引用存储在实现指定元素的节点中。
protected
<T extends Object & Comparable<? super T>>
void
addObjectValue(String elementName, Class<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive)
          允许将给定类类型的 Object 引用存储在实现指定元素的节点中。
abstract  boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType)
          如果允许元素(和它下面的子树)在给定类型(由 ImageTypeSpecifier 定义)的图像的元数据文档中出现,则返回 true
 int getAttributeDataType(String elementName, String attrName)
          返回以 DATATYPE_ 开头的常量之一,指示指定元素中给定属性的值的格式和解释。
 String getAttributeDefaultValue(String elementName, String attrName)
          如果指定属性不显式存在于指定元素中,则以 String 的形式返回其默认值;如果不存在可用的默认值,则返回 null
 String getAttributeDescription(String elementName, String attrName, Locale locale)
          返回包含指定属性的描述的 String,或者 null
 String[] getAttributeEnumerations(String elementName, String attrName)
          返回一个 String 数组,其包含指定元素中给定属性的合法枚举值。
 int getAttributeListMaxLength(String elementName, String attrName)
          返回可用于定义此属性的最大列表项数。
 int getAttributeListMinLength(String elementName, String attrName)
          返回可用于定义此属性的最小列表项数。
 String getAttributeMaxValue(String elementName, String attrName)
          返回属性的最大合法值。
 String getAttributeMinValue(String elementName, String attrName)
          返回属性的最小合法值。
 String[] getAttributeNames(String elementName)
          返回一个 String 数组,该数组列出了与指定元素关联的属性的名称。
 int getAttributeValueType(String elementName, String attrName)
          返回以 VALUE_ 开头的常量之一,指示指定元素中给定属性的值是任意值、被限制在指定范围中的值、被限制为一组枚举值之一,还是一个任意值的以空白分隔的列表。
 String[] getChildNames(String elementName)
          返回一个按出现顺序排列的 String 数组,指示允许作为指定元素子元素的元素的名称。
 int getChildPolicy(String elementName)
          返回以 CHILD_POLICY_ 开头的常量之一,指示指定元素子元素的合法模式。
 String getElementDescription(String elementName, Locale locale)
          返回包含指定元素的描述的 String,或者 null
 int getElementMaxChildren(String elementName)
          返回使用子策略 CHILD_POLICY_REPEAT 的指定元素的最大子元素数。
 int getElementMinChildren(String elementName)
          返回使用子策略 CHILD_POLICY_REPEAT 的指定元素的最小子元素数。
 int getObjectArrayMaxLength(String elementName)
          返回指定元素中可用于定义 Object 引用的最大数组元素数。
 int getObjectArrayMinLength(String elementName)
          返回指定元素中可用于定义 Object 引用的最小数组元素数。
 Class<?> getObjectClass(String elementName)
          返回存储在元素中的 Class 类型的 Object 引用。
 Object getObjectDefaultValue(String elementName)
          返回包含指定元素中 Object 引用的默认值的 Object
 Object[] getObjectEnumerations(String elementName)
          返回一个 Object 数组,该数组包含指定元素中 Object 引用的合法枚举值。
 Comparable<?> getObjectMaxValue(String elementName)
          返回指定元素中 Object 引用的最大合法值。
 Comparable<?> getObjectMinValue(String elementName)
          返回指定元素中 Object 引用的最小合法值。
 int getObjectValueType(String elementName)
          返回以 VALUE_ 开头的枚举值之一,指示允许用于 Object 引用的值(枚举、范围或数组)的类型。
protected  String getResourceBaseName()
          返回当前设置的用于查找 ResourceBundle 的基本名称。
 String getRootName()
          返回格式的根元素的名称。
static IIOMetadataFormat getStandardFormatInstance()
          返回描述标准、插件无关的 javax.imageio_1.0 元数据文档格式的 IIOMetadataFormat 对象,该文档格式在 javax.imageio.metadata 包的注释中描述。
 boolean isAttributeRequired(String elementName, String attrName)
          如果指定属性必须在指定元素中存在,则返回 true
protected  void removeAttribute(String elementName, String attrName)
          从以前定义的元素中移除属性。
protected  void removeElement(String elementName)
          从格式中移除元素。
protected  void removeObjectValue(String elementName)
          禁止将 Object 引用存储在实现指定元素的节点中。
protected  void setResourceBaseName(String resourceBaseName)
          设置用于查找包含此格式的元素和属性描述的 ResourceBundle 新基本名称。
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

standardMetadataFormatName

public static final String standardMetadataFormatName
包含标准格式名称 "javax_imageio_1.0"String 常量。

另请参见:
常量字段值
构造方法详细信息

IIOMetadataFormatImpl

public IIOMetadataFormatImpl(String rootName,
                             int childPolicy)
构造一个空的 IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略(CHILD_POLICY_REPEAT 除外)。其他元素及其属性以及 Object 引用信息可以使用各种 add 方法添加。

参数:
rootName - 根元素的名称。
childPolicy - CHILD_POLICY_REPEAT 之外的 CHILD_POLICY_* 常量之一。
抛出:
IllegalArgumentException - 如果 rootNamenull
IllegalArgumentException - 如果 childPolicy 不是预定义的常量之一。

IIOMetadataFormatImpl

public IIOMetadataFormatImpl(String rootName,
                             int minChildren,
                             int maxChildren)
构造一个空的 IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略 CHILD_POLICY_REPEAT。其他元素及其属性以及 Object 引用信息可以使用各种 add 方法添加。

参数:
rootName - 根元素的名称。
minChildren - 节点的最小子节点数。
maxChildren - 节点的最大子节点数。
抛出:
IllegalArgumentException - 如果 rootNamenull
IllegalArgumentException - 如果 minChildren 为负或大于 maxChildren
方法详细信息

setResourceBaseName

protected void setResourceBaseName(String resourceBaseName)
设置用于查找包含此格式的元素和属性描述的 ResourceBundle 新基本名称。

在首次调用此方法之前,基本名称将等于 this.getClass().getName() + "Resources"

参数:
resourceBaseName - 包含新基本名称的 String
抛出:
IllegalArgumentException - 如果 resourceBaseNamenull
另请参见:
getResourceBaseName()

getResourceBaseName

protected String getResourceBaseName()
返回当前设置的用于查找 ResourceBundle 的基本名称。

返回:
包含基本名称的 String
另请参见:
setResourceBaseName(java.lang.String)

addElement

protected void addElement(String elementName,
                          String parentName,
                          int childPolicy)
使用某个子策略(CHILD_POLICY_REPEAT 除外)将新元素类型添加到此元数据文档格式中。

参数:
elementName - 新元素的名称。
parentName - 将作为新元素的父元素的元素的名称。
childPolicy - CHILD_POLICY_REPEAT 之外的 CHILD_POLICY_* 常量之一,指示新元素的子策略。
抛出:
IllegalArgumentException - 如果 parentNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 childPolicy 不是预定义的常量之一。

addElement

protected void addElement(String elementName,
                          String parentName,
                          int minChildren,
                          int maxChildren)
使用子策略 CHILD_POLICY_REPEAT 将新元素类型添加到此元数据文档格式中。

参数:
elementName - 新元素的名称。
parentName - 将作为新元素的父元素的元素的名称。
minChildren - 节点的最小子节点数。
maxChildren - 节点的最大子节点数。
抛出:
IllegalArgumentException - 如果 parentNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 minChildren 为负或大于 maxChildren

addChildElement

protected void addChildElement(String elementName,
                               String parentName)
将现有元素添加到给定父节点类型的合法子节点的列表中。

参数:
parentName - 将作为元素的新父元素的元素的名称。
elementName - 要作为子元素添加的元素的名称。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 parentNamenull 或者不是此格式的合法元素名称。

removeElement

protected void removeElement(String elementName)
从格式中移除元素。如果不存在使用给定名字的元素,则不执行任何操作并且不会抛出任何异常。

参数:
elementName - 要移除的元素的名称。

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue)
将新属性添加到以前定义的可以被设置为任意值的元素中。

参数:
elementName - 元素的名称。
attrName - 要添加的属性的名称。
dataType - 属性的数据类型(字符串格式),DATATYPE_* 常量之一。
required - 如果属性必须存在,则为 true
defaultValue - 属性的默认值,或者为 null
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull
IllegalArgumentException - 如果 dataType 不是预定义的常量之一。

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue,
                            List<String> enumeratedValues)
将新属性添加到以前定义的元素中,该元素将由一组枚举值定义。

参数:
elementName - 元素的名称。
attrName - 要添加的属性的名称。
dataType - 属性的数据类型(字符串格式),DATATYPE_* 常量之一。
required - 如果属性必须存在,则为 true
defaultValue - 属性的默认值,或者为 null
enumeratedValues - 包含属性合法值的 String 组成的 List
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull
IllegalArgumentException - 如果 dataType 不是预定义的常量之一。
IllegalArgumentException - 如果 enumeratedValuesnull
IllegalArgumentException - 如果 enumeratedValues 不包含至少一项。
IllegalArgumentException - 如果 enumeratedValues 包含不为 String 的元素或者为 null

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            String defaultValue,
                            String minValue,
                            String maxValue,
                            boolean minInclusive,
                            boolean maxInclusive)
将新属性添加到以前定义的元素中,该元素将由一系列值定义。

参数:
elementName - 元素的名称。
attrName - 要添加的属性的名称。
dataType - 属性的数据类型(字符串格式),DATATYPE_* 常量之一。
required - 如果属性必须存在,则为 true
defaultValue - 属性的默认值,或者为 null
minValue - 属性的最小(是否包括两端的值取决于 minInclusive 的值)合法值(String 形式)。
maxValue - 属性的最大(是否包括两端的值取决于 minInclusive 的值)合法值(String 形式)。
minInclusive - 如果包括 minValue,则为 true
maxInclusive - 如果包括 maxValue,则为 true
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull
IllegalArgumentException - 如果 dataType 不是预定义的常量之一。

addAttribute

protected void addAttribute(String elementName,
                            String attrName,
                            int dataType,
                            boolean required,
                            int listMinLength,
                            int listMaxLength)
将新属性添加到以前定义的元素中,该元素将由值的列表定义。

参数:
elementName - 元素的名称。
attrName - 要添加的属性的名称。
dataType - 属性的数据类型(字符串格式),DATATYPE_* 常量之一。
required - 如果属性必须存在,则为 true
listMinLength - 列表项的最小合法数。
listMaxLength - 列表项的最大合法数。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull
IllegalArgumentException - 如果 dataType 不是预定义的常量之一。
IllegalArgumentException - 如果 listMinLength 为负或大于 listMaxLength

addBooleanAttribute

protected void addBooleanAttribute(String elementName,
                                   String attrName,
                                   boolean hasDefaultValue,
                                   boolean defaultValue)
将新属性添加到以前定义的元素中,该元素将由枚举值 TRUEFALSE 定义,数据类型为 DATATYPE_BOOLEAN

参数:
elementName - 元素的名称。
attrName - 要添加的属性的名称。
hasDefaultValue - 如果默认值应该存在,则为 true
defaultValue - boolean 值形式的属性默认值;如果 hasDefaultValuefalse,则忽略该参数。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull

removeAttribute

protected void removeAttribute(String elementName,
                               String attrName)
从以前定义的元素中移除属性。如果在给定元素中不存在使用给定名字的属性,则不执行任何操作并且不会抛出任何异常。

参数:
elementName - 元素的名称。
attrName - 要移除的属性的名称。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。

addObjectValue

protected <T> void addObjectValue(String elementName,
                                  Class<T> classType,
                                  boolean required,
                                  T defaultValue)
允许将给定类类型的 Object 引用存储在实现指定元素的节点中。Object 的值是不受约束的(其类类型除外)。

如果以前允许 Object 引用,则重写以前的设置值。

参数:
elementName - 元素的名称。
classType - 指示对象值的合法类类型的 Class 变量。
required - 如果对象值必须存在,则为 true
defaultValue - Object 引用的默认值,或者为 null
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。

addObjectValue

protected <T> void addObjectValue(String elementName,
                                  Class<T> classType,
                                  boolean required,
                                  T defaultValue,
                                  List<? extends T> enumeratedValues)
允许将给定类类型的 Object 引用存储在实现指定元素的节点中。Object 的值必须为 enumeratedValues 给出的值之一。

如果以前允许 Object 引用,则重写以前的设置值。

参数:
elementName - 元素的名称。
classType - 指示对象值的合法类类型的 Class 变量。
required - 如果对象值必须存在,则为 true
defaultValue - Object 引用的默认值,或者为 null
enumeratedValues - 包含对象引用的合法值的 Object 组成的 List
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 enumeratedValuesnull
IllegalArgumentException - 如果 enumeratedValues 不包含至少一项。
IllegalArgumentException - 如果 enumeratedValues 包含不为 classType 指定的类类型的实例或者为 null

addObjectValue

protected <T extends Object & Comparable<? super T>> void addObjectValue(String elementName,
                                                                        Class<T> classType,
                                                                        T defaultValue,
                                                                        Comparable<? super T> minValue,
                                                                        Comparable<? super T> maxValue,
                                                                        boolean minInclusive,
                                                                        boolean maxInclusive)
允许将给定类类型的 Object 引用存储在实现指定元素的节点中。Object 的值必须在 minValuemaxValue 给出的范围中。此外,类类型必须实现 Comparable 接口。

如果以前允许 Object 引用,则重写以前的设置值。

参数:
elementName - 元素的名称。
classType - 指示对象值的合法类类型的 Class 变量。
defaultValue - 默认值
minValue - 对象值的最小(是否包括两端的值取决于 minInclusive 的值)合法值(String 形式)。
maxValue - 对象值的最大(是否包括两端的值取决于 minInclusive 的值)合法值(String 形式)。
minInclusive - 如果包括 minValue,则为 true
maxInclusive - 如果包括 maxValue,则为 true
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。

addObjectValue

protected void addObjectValue(String elementName,
                              Class<?> classType,
                              int arrayMinLength,
                              int arrayMaxLength)
允许将给定类类型的 Object 引用存储在实现指定元素的节点中。Object 的值必须为 classType 给出的类类型的对象数组,该数组的元素至少为 arrayMinLength 至多为 arrayMaxLength

如果以前允许 Object 引用,则重写以前的设置值。

参数:
elementName - 元素的名称。
classType - 指示对象值的合法类类型的 Class 变量。
arrayMinLength - 数组的最小合法长度。
arrayMaxLength - 数组的最大合法长度。
抛出:
IllegalArgumentException - 如果 elementName 不是此格式的合法元素名称。

removeObjectValue

protected void removeObjectValue(String elementName)
禁止将 Object 引用存储在实现指定元素的节点中。

参数:
elementName - 元素的名称。
抛出:
IllegalArgumentException - 如果 elementName 不是此格式的合法元素名称。

getRootName

public String getRootName()
从接口 IIOMetadataFormat 复制的描述
返回格式的根元素的名称。

指定者:
接口 IIOMetadataFormat 中的 getRootName
返回:
String

canNodeAppear

public abstract boolean canNodeAppear(String elementName,
                                      ImageTypeSpecifier imageType)
从接口 IIOMetadataFormat 复制的描述
如果允许元素(和它下面的子树)在给定类型(由 ImageTypeSpecifier 定义)的图像的元数据文档中出现,则返回 true。例如,元数据文档格式可能包含描述图像原色的元素,该元素在写入灰度级图像时是不允许出现的。

指定者:
接口 IIOMetadataFormat 中的 canNodeAppear
参数:
elementName - 要查询的元素的名称。
imageType - 指示将与元数据关联的图像类型的 ImageTypeSpecifier
返回:
如果节点对于给定类型的图像有意义,则返回 true

getElementMinChildren

public int getElementMinChildren(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回使用子策略 CHILD_POLICY_REPEAT 的指定元素的最小子元素数。例如,表示原色信息的元素可能需要具有至少 3 个子元素,每种原色一个子元素。

指定者:
接口 IIOMetadataFormat 中的 getElementMinChildren
参数:
elementName - 要查询的元素的名称。
返回:
int

getElementMaxChildren

public int getElementMaxChildren(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回使用子策略 CHILD_POLICY_REPEAT 的指定元素的最大子元素数。例如,表示 8 位调色板条目的元素可能允许重复多达 256 次。Integer.MAX_VALUE 的值可用于指定不存在上限。

指定者:
接口 IIOMetadataFormat 中的 getElementMaxChildren
参数:
elementName - 要查询的元素的名称。
返回:
int

getElementDescription

public String getElementDescription(String elementName,
                                    Locale locale)
返回包含指定元素的描述的 String,或者 null。如果可能,应将描述本地化为提供的 Locale

默认实现利用在 ResourceBundle.getBundle 的注释中描述的应变机制 (fallback mechanism),首先使用由 setResourceBaseName 设置的当前资源基本名称以及所提供的 Locale 查找 ResourceBundle。如果找到 ResourceBundle,则将元素名称用作其 getString 方法的键并返回结果。如果未找到 ResourceBundle 或者不存在这样的键,则返回 null

如果 localenull,则使用 Locale.getLocale 返回的当前默认 Locale

指定者:
接口 IIOMetadataFormat 中的 getElementDescription
参数:
elementName - 元素的名称。
locale - 尝试进行本地化的 Locale
返回:
元素描述。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
另请参见:
setResourceBaseName(java.lang.String)

getChildPolicy

public int getChildPolicy(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回以 CHILD_POLICY_ 开头的常量之一,指示指定元素子元素的合法模式。

指定者:
接口 IIOMetadataFormat 中的 getChildPolicy
参数:
elementName - 要查询的元素的名称。
返回:
CHILD_POLICY_* 常量之一。

getChildNames

public String[] getChildNames(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回一个按出现顺序排列的 String 数组,指示允许作为指定元素子元素的元素的名称。如果元素不能有子元素,则返回 null

指定者:
接口 IIOMetadataFormat 中的 getChildNames
参数:
elementName - 要查询的元素的名称。
返回:
String 数组,或 null。

getAttributeNames

public String[] getAttributeNames(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回一个 String 数组,该数组列出了与指定元素关联的属性的名称。

指定者:
接口 IIOMetadataFormat 中的 getAttributeNames
参数:
elementName - 要查询的元素的名称。
返回:
String 数组。

getAttributeValueType

public int getAttributeValueType(String elementName,
                                 String attrName)
从接口 IIOMetadataFormat 复制的描述
返回以 VALUE_ 开头的常量之一,指示指定元素中给定属性的值是任意值、被限制在指定范围中的值、被限制为一组枚举值之一,还是一个任意值的以空白分隔的列表。

指定者:
接口 IIOMetadataFormat 中的 getAttributeValueType
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
VALUE_* 常量之一。

getAttributeDataType

public int getAttributeDataType(String elementName,
                                String attrName)
从接口 IIOMetadataFormat 复制的描述
返回以 DATATYPE_ 开头的常量之一,指示指定元素中给定属性的值的格式和解释。如果 getAttributeValueType 返回 VALUE_LIST,则合法值为返回数据类型的值的以空白分隔的列表。

指定者:
接口 IIOMetadataFormat 中的 getAttributeDataType
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
DATATYPE_* 常量之一。

isAttributeRequired

public boolean isAttributeRequired(String elementName,
                                   String attrName)
从接口 IIOMetadataFormat 复制的描述
如果指定属性必须在指定元素中存在,则返回 true

指定者:
接口 IIOMetadataFormat 中的 isAttributeRequired
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
如果属性必须存在,则返回 true

getAttributeDefaultValue

public String getAttributeDefaultValue(String elementName,
                                       String attrName)
从接口 IIOMetadataFormat 复制的描述
如果指定属性不显式存在于指定元素中,则以 String 的形式返回其默认值;如果不存在可用的默认值,则返回 null

指定者:
接口 IIOMetadataFormat 中的 getAttributeDefaultValue
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
包含默认值的 String,或者 null

getAttributeEnumerations

public String[] getAttributeEnumerations(String elementName,
                                         String attrName)
从接口 IIOMetadataFormat 复制的描述
返回一个 String 数组,其包含指定元素中给定属性的合法枚举值。只应在 getAttributeValueType 返回 VALUE_ENUMERATION的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getAttributeEnumerations
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
String 数组。

getAttributeMinValue

public String getAttributeMinValue(String elementName,
                                   String attrName)
从接口 IIOMetadataFormat 复制的描述
返回属性的最小合法值。是否包括此值可由 getAttributeValueType 的值确定。该值以 String 的形式返回;其解释依赖于 getAttributeDataType 的值。只应在 getAttributeValueType 返回 VALUE_RANGE_* 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getAttributeMinValue
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
包含属性的最小合法值的 String

getAttributeMaxValue

public String getAttributeMaxValue(String elementName,
                                   String attrName)
从接口 IIOMetadataFormat 复制的描述
返回属性的最大合法值。是否包括此值可由 getAttributeValueType 的值确定。该值以 String 的形式返回;其解释依赖于 getAttributeDataType 的值。只应在 getAttributeValueType 返回 VALUE_RANGE_* 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getAttributeMaxValue
参数:
elementName - 要查询的 String 形式的元素名称。
attrName - 要查询的属性的名称。
返回:
包含属性的最大合法值的 String

getAttributeListMinLength

public int getAttributeListMinLength(String elementName,
                                     String attrName)
从接口 IIOMetadataFormat 复制的描述
返回可用于定义此属性的最小列表项数。属性本身被定义为一个包含多个由空白分隔的项的 String。只应在 getAttributeValueType 返回 VALUE_LIST 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getAttributeListMinLength
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
属性的列表项的最小合法数。

getAttributeListMaxLength

public int getAttributeListMaxLength(String elementName,
                                     String attrName)
从接口 IIOMetadataFormat 复制的描述
返回可用于定义此属性的最大列表项数。Integer.MAX_VALUE 的值可用于指定不存在上限。属性本身被定义为一个包含多个由空白分隔的项的 String。只应在 getAttributeValueType 返回 VALUE_LIST 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getAttributeListMaxLength
参数:
elementName - 要查询的元素的名称。
attrName - 要查询的属性的名称。
返回:
属性的列表项的最大合法数。

getAttributeDescription

public String getAttributeDescription(String elementName,
                                      String attrName,
                                      Locale locale)
返回包含指定属性的描述的 String,或者 null。如果可能,应将描述本地化为提供的 Locale

默认实现利用在 ResourceBundle.getBundle 的注释中描述的应变机制,首先使用由 setResourceBaseName 设置的当前资源基本名称以及所提供的 Locale 查找 ResourceBundle。如果找到 ResourceBundle,则将后跟 "/" 字符再后跟属性名 (elementName + "/" + attrName) 的元素名称用作其 getString 方法的键,并返回结果。如果未找到 ResourceBundle 或者不存在这样的键,则返回 null

如果 localenull,则使用 Locale.getLocale 返回的当前默认 Locale

指定者:
接口 IIOMetadataFormat 中的 getAttributeDescription
参数:
elementName - 元素的名称。
attrName - 属性的名称。
locale - 尝试进行本地化的 Locale,或者为 null
返回:
属性描述。
抛出:
IllegalArgumentException - 如果 elementNamenull 或者不是此格式的合法元素名称。
IllegalArgumentException - 如果 attrNamenull 或者不是此元素的合法属性名称。
另请参见:
setResourceBaseName(java.lang.String)

getObjectValueType

public int getObjectValueType(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回以 VALUE_ 开头的枚举值之一,指示允许用于 Object 引用的值(枚举、范围或数组)的类型。如果在给定元素中无法存储任何对象值,则此方法的结果将为 VALUE_NONE

合法值被定义为范围的 Object 引用必须实现 Comparable 接口。

指定者:
接口 IIOMetadataFormat 中的 getObjectValueType
参数:
elementName - 要查询的元素的名称。
返回:
VALUE_* 常量之一。
另请参见:
Comparable

getObjectClass

public Class<?> getObjectClass(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回存储在元素中的 Class 类型的 Object 引用。如果此元素不能包含 Object 引用,则抛出 IllegalArgumentException。如果类类型为数组,则此字段指示基础类类型(例如,对于 int 的数组,此方法将返回 int.class)。

合法值被定义为范围的 Object 引用必须实现 Comparable 接口。

指定者:
接口 IIOMetadataFormat 中的 getObjectClass
参数:
elementName - 要查询的元素的名称。
返回:
Class 对象。

getObjectDefaultValue

public Object getObjectDefaultValue(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回包含指定元素中 Object 引用的默认值的 Object

指定者:
接口 IIOMetadataFormat 中的 getObjectDefaultValue
参数:
elementName - 要查询的元素的名称。
返回:
Object 对象。

getObjectEnumerations

public Object[] getObjectEnumerations(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回一个 Object 数组,该数组包含指定元素中 Object 引用的合法枚举值。只应在 getObjectValueType 返回 VALUE_ENUMERATION的情况下调用此方法。

与接受枚举值的节点关联的 Object 必须等于此方法返回的值之一,这里的等于是由 == 运算符(而不是 Object.equals 方法)定义的。

指定者:
接口 IIOMetadataFormat 中的 getObjectEnumerations
参数:
elementName - 要查询的元素的名称。
返回:
Object 数组。

getObjectMinValue

public Comparable<?> getObjectMinValue(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回指定元素中 Object 引用的最小合法值。是否包括此值可由 getObjectValueType 的值确定。只应在 getObjectValueType 返回以 VALUE_RANGE 开头的常量之一的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getObjectMinValue
参数:
elementName - 要查询的元素的名称。
返回:
属性的最小合法值。

getObjectMaxValue

public Comparable<?> getObjectMaxValue(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回指定元素中 Object 引用的最大合法值。是否包括此值可由 getObjectValueType 的值确定。只应在 getObjectValueType 返回以 VALUE_RANGE 开头的常量之一的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getObjectMaxValue
参数:
elementName - 要查询的元素的名称。
返回:
属性的最小合法值。

getObjectArrayMinLength

public int getObjectArrayMinLength(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回指定元素中可用于定义 Object 引用的最小数组元素数。只应在 getObjectValueType 返回 VALUE_LIST 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getObjectArrayMinLength
参数:
elementName - 要查询的元素的名称。
返回:
Object 引用的最小有效数组长度。

getObjectArrayMaxLength

public int getObjectArrayMaxLength(String elementName)
从接口 IIOMetadataFormat 复制的描述
返回指定元素中可用于定义 Object 引用的最大数组元素数。Integer.MAX_VALUE 的值可用于指定不存在上限。只应在 getObjectValueType 返回 VALUE_LIST 的情况下调用此方法。

指定者:
接口 IIOMetadataFormat 中的 getObjectArrayMaxLength
参数:
elementName - 要查询的元素的名称。
返回:
Object 引用的最大有效数组长度。

getStandardFormatInstance

public static IIOMetadataFormat getStandardFormatInstance()
返回描述标准、插件无关的 javax.imageio_1.0 元数据文档格式的 IIOMetadataFormat 对象,该文档格式在 javax.imageio.metadata 包的注释中描述。

返回:
预定义的 IIOMetadataFormat 实例。

JavaTM 2 Platform
Standard Ed. 5.0

提交错误或意见
有关更多的 API 参考资料和开发人员文档,请参阅 Java 2 SDK SE 开发人员文档。该文档包含更详细的、面向开发人员的描述,以及总体概述、术语定义、使用技巧和工作代码示例。

版权所有 2004 Sun Microsystems, Inc. 保留所有权利。 请遵守许可证条款。另请参阅文档重新分发政策