java.lang.Objectjavax.imageio.metadata.IIOMetadataFormatImpl
public abstract class IIOMetadataFormatImpl
      提供 IIOMetadataFormat 接口的可重用实现的具体类。此外,通过 getStandardFormatInstance 方法提供一个表示标准的、插件无关的 javax_imageio_1.0 格式的静态实例。 
 为了提供元素和属性的本地化的描述,应该通过 ResourceBundle.getBundle 使用的常规机制来提供基本名称为 this.getClass().getName() + "Resources" 的 ResourceBundle。简单地说,子类根据命名约定(默认情况下为扩展 IIMetadataFormatImpl 的子类的完全限定名,加上字符串 "Resources",加上国家/地区、语言和由下划线分隔的变体代码)提供一个或多个其他类。在运行期间,调用 getElementDescription 或 getAttributeDescription 将尝试根据提供的语言环境动态加载这些类,并将使用元素名称或者后跟 '/' 字符再后跟作为键的属性名的元素名称。此键将提供给 ResourceBundle 的 getString 方法,并返回所得到的节点或属性的本地化描述。 
 子类可以使用 setResourceBaseName 方法为资源包提供另外的基本名称。 
 在需要时,子类可以通过重写提供的 getElementDescription 和 getAttributeDescription 实现来选择它自己的本地化机制。 
| 字段摘要 | |
|---|---|
 static String |  
     standardMetadataFormatName 包含标准格式名称 "javax_imageio_1.0" 的 String 常量。 |  
    
| 构造方法摘要 | |
|---|---|
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) 将新属性添加到以前定义的元素中,该元素将由枚举值 TRUE 和 FALSE 定义,数据类型为 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 
         |  
     addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue) 允许将给定类类型的 Object 引用存储在实现指定元素的节点中。 |  
    |
 protected 
         |  
     addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues) 允许将给定类类型的 Object 引用存储在实现指定元素的节点中。 |  
    |
 protected 
         |  
     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 |  
    
| 字段详细信息 | 
|---|
public static final String standardMetadataFormatName
"javax_imageio_1.0" 的 
    String 常量。 
    
| 构造方法详细信息 | 
|---|
public IIOMetadataFormatImpl(String rootName, int childPolicy)
IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略(
    CHILD_POLICY_REPEAT 除外)。其他元素及其属性以及 
    Object 引用信息可以使用各种 
    add 方法添加。 
    
rootName - 根元素的名称。
     childPolicy - 
      CHILD_POLICY_REPEAT 之外的 
      CHILD_POLICY_* 常量之一。 
     IllegalArgumentException - 如果 
      rootName 为 
      null。 
     IllegalArgumentException - 如果 
      childPolicy 不是预定义的常量之一。
     public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
IIOMetadataFormatImpl 实例,使其具有给定根元素名称和子策略 
    CHILD_POLICY_REPEAT。其他元素及其属性以及 
    Object 引用信息可以使用各种 
    add 方法添加。 
    
rootName - 根元素的名称。
     minChildren - 节点的最小子节点数。
     maxChildren - 节点的最大子节点数。 
     IllegalArgumentException - 如果 
      rootName 为 
      null。 
     IllegalArgumentException - 如果 
      minChildren 为负或大于 
      maxChildren。
     | 方法详细信息 | 
|---|
protected void setResourceBaseName(String resourceBaseName)
ResourceBundle 新基本名称。 
     在首次调用此方法之前,基本名称将等于 this.getClass().getName() + "Resources"。 
resourceBaseName - 包含新基本名称的 
      String。 
     IllegalArgumentException - 如果 
      resourceBaseName 为 
      null。
     getResourceBaseName()
     protected String getResourceBaseName()
ResourceBundle 的基本名称。 
    
String。
     setResourceBaseName(java.lang.String)
     protected void addElement(String elementName, String parentName, int childPolicy)
CHILD_POLICY_REPEAT 除外)将新元素类型添加到此元数据文档格式中。 
    
elementName - 新元素的名称。
     parentName - 将作为新元素的父元素的元素的名称。
     childPolicy - 
      CHILD_POLICY_REPEAT 之外的 
      CHILD_POLICY_* 常量之一,指示新元素的子策略。 
     IllegalArgumentException - 如果 
      parentName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      childPolicy 不是预定义的常量之一。
     protected void addElement(String elementName, String parentName, int minChildren, int maxChildren)
CHILD_POLICY_REPEAT 将新元素类型添加到此元数据文档格式中。 
    
elementName - 新元素的名称。
     parentName - 将作为新元素的父元素的元素的名称。
     minChildren - 节点的最小子节点数。
     maxChildren - 节点的最大子节点数。 
     IllegalArgumentException - 如果 
      parentName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      minChildren 为负或大于 
      maxChildren。
     protected void addChildElement(String elementName, String parentName)
parentName - 将作为元素的新父元素的元素的名称。
     elementName - 要作为子元素添加的元素的名称。 
     IllegalArgumentException - 如果 
      elementName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      parentName 为 
      null 或者不是此格式的合法元素名称。
     protected void removeElement(String elementName)
elementName - 要移除的元素的名称。
     protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)
elementName - 元素的名称。
     attrName - 要添加的属性的名称。
     dataType - 属性的数据类型(字符串格式),
      DATATYPE_* 常量之一。
     required - 如果属性必须存在,则为 
      true。
     defaultValue - 属性的默认值,或者为 
      null。 
     IllegalArgumentException - 如果 
      elementName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      attrName 为 
      null。 
     IllegalArgumentException - 如果 
      dataType 不是预定义的常量之一。
     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 - 如果 
      elementName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      attrName 为 
      null。 
     IllegalArgumentException - 如果 
      dataType 不是预定义的常量之一。 
     IllegalArgumentException - 如果 
      enumeratedValues 为 
      null。 
     IllegalArgumentException - 如果 
      enumeratedValues 不包含至少一项。 
     IllegalArgumentException - 如果 
      enumeratedValues 包含不为 
      String 的元素或者为 
      null。
     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 - 如果 
      elementName 为 
      null 或者不是此格式的合法元素名称。 
     IllegalArgumentException - 如果 
      attrName 为 
      null。 
     IllegalArgumentException - 如果 
      dataType 不是预定义的常量之一。
     protected void addAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)
elementName - 元素的名称。
     attrName - 要添加的属性的名称。
     dataType - 属性的数据类型(字符串格式),
      DATATYPE_* 常量之一。
     required - 如果属性必须存在,则为 
      true。
     listMinLength - 列表项的最小合法数。
     listMaxLength - 列表项的最大合法数。 
     IllegalArgumentException - 如果 
      elementName 为 
      null 或者不是此格式的合法元素名称。