Module java.desktop

Interface IIOMetadataFormat

所有已知的实现类:
IIOMetadataFormatImpl

public interface IIOMetadataFormat
描述从IIOMetadata.getAsTree返回的元数据文档结构,并传递给IIOMetadata.setFromTreemergeTree的对象。文档结构由对给定父元素类型可能属于的子元素类型的类型和数量的约束集描述,可能属于元素的属性的名称、类型和值,以及可能存储在节点中的Object引用的类型和值。

注意: 实现此接口的类应包含一个声明为public static getInstance()的方法,该方法返回类的实例。通常,实现将仅构造一个实例并将其缓存以供将来调用getInstance

如果插件作为命名模块的一部分提供,则该模块必须通过限定导出将包含实现类的包导出到

java.desktop
模块。不建议未经限定地导出包,除非出于其他原因需要。未导出包将导致运行时访问失败。

此类可能描述的结构是使用XML文档类型定义(DTDs)的子集,还添加了有关属性数据类型的一些基本信息以及在节点中存储Object引用的能力。将来,XML模式可以用于表示这些结构以及许多其他结构。

IIOMetadataFormat描述的结构与DTD之间的区别如下:

  • 元素可能不包含文本或将文本与嵌入式标记混合。
  • 元素的子元素必须符合一些简单模式之一,这些模式在CHILD_*常量的文档中描述;
  • 元素的内存表示可能包含对Object的引用。没有提供表示这些对象的文本的方法。
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final int
    getChildPolicy返回的常量,指示元素必须按顺序具有每个合法子元素的单个实例。
    static final int
    getChildPolicy返回的常量,指示元素必须具有零个或一个子元素,从其合法子元素中选择。
    static final int
    getChildPolicy返回的常量,指示元素可能没有任何子元素。
    static final int
    CHILD_POLICY_*的最大有效常量,用于范围检查。
    static final int
    getChildPolicy返回的常量,指示元素必须具有其唯一合法子元素的零个或多个实例。
    static final int
    getChildPolicy返回的常量,指示元素必须具有其合法子元素的任意实例序列。
    static final int
    getChildPolicy返回的常量,指示元素必须按顺序具有每个合法子元素的零个或一个实例。
    static final int
    getAttributeDataType返回的常量,指示属性的值是布尔值'true'或'false'之一。
    static final int
    getAttributeDataType返回的常量,指示属性的值是双精度十进制浮点数的字符串表示。
    static final int
    getAttributeDataType返回的常量,指示属性的值是十进制浮点数的字符串表示。
    static final int
    getAttributeDataType返回的常量,指示属性的值是整数的字符串表示。
    static final int
    getAttributeDataType返回的常量,指示属性的值是通用Unicode字符串。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为单个任意值。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组枚举值中的一个。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组值的列表或数组。
    static final int
    getObjectValueType返回的常量,指示用户对象的缺失。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组值的范围。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组值的范围。
    static final int
    可与VALUE_RANGE或运算以获得VALUE_RANGE_MAX_INCLUSIVE,与VALUE_RANGE_MIN_INCLUSIVE或运算以获得VALUE_RANGE_MIN_MAX_INCLUSIVE的值。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组值的范围。
    static final int
    可与VALUE_RANGE或运算以获得VALUE_RANGE_MIN_INCLUSIVE,与VALUE_RANGE_MAX_INCLUSIVE或运算以获得VALUE_RANGE_MIN_MAX_INCLUSIVE的值。
    static final int
    getAttributeValueTypegetObjectValueType返回的常量,指示属性或用户对象可以设置为一组值的范围。
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    canNodeAppear(String elementName, ImageTypeSpecifier imageType)
    如果元素(及其下面的子树)允许出现在由ImageTypeSpecifier定义的给定类型的图像的元数据文档中,则返回true
    int
    getAttributeDataType(String elementName, String attrName)
    返回以DATATYPE_开头的常量之一,指示命名元素内给定属性的值的格式和解释。
    getAttributeDefaultValue(String elementName, String attrName)
    如果命名元素内未明确存在命名属性的默认值,则返回该属性的默认值作为String,如果没有默认值可用,则返回null
    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)
    返回可用于定义此属性的列表项的最小数量。
    getAttributeMaxValue(String elementName, String attrName)
    返回属性的最大合法值。
    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_开头的常量之一,指示命名元素的子元素的合法模式。
    getElementDescription(String elementName, Locale locale)
    返回包含命名元素描述的String,或null
    int
    返回具有子元素策略CHILD_POLICY_REPEAT的命名元素的子元素的最大数量。
    int
    返回具有子元素策略CHILD_POLICY_REPEAT的命名元素的子元素的最小数量。
    int
    返回可用于定义命名元素内Object引用的数组元素的最大数量。
    int
    返回可用于定义命名元素内Object引用的数组元素的最小数量。
    Class<?>
    getObjectClass(String elementName)
    返回存储在元素内的Object引用的Class类型。
    返回命名元素内Object引用的默认值的Object
    Object[]
    返回包含命名元素内Object引用的合法枚举值的Object数组。
    getObjectMaxValue(String elementName)
    返回Object引用内的命名元素的最大合法值。
    getObjectMinValue(String elementName)
    返回Object引用内的命名元素的最小合法值。
    int
    getObjectValueType(String elementName)
    返回以VALUE_开头的枚举值之一,指示允许用于Object引用的值类型(枚举、范围或数组)。
    返回格式的根元素的名称。
    boolean
    isAttributeRequired(String elementName, String attrName)
    如果命名属性必须存在于命名元素内,则返回true
  • Field Details

    • CHILD_POLICY_EMPTY

      static final int CHILD_POLICY_EMPTY
      getChildPolicy返回的常量,指示元素可能没有任何子元素。换句话说,它必须是叶节点。
      参见:
    • CHILD_POLICY_ALL

      static final int CHILD_POLICY_ALL
      getChildPolicy返回的常量,指示元素必须按顺序具有每个合法子元素的单个实例。在DTD术语中,元素的内容由序列a,b,c,d,...定义。
      参见:
    • CHILD_POLICY_SOME

      static final int CHILD_POLICY_SOME
      getChildPolicy返回的常量,指示元素必须按顺序具有每个合法子元素的零个或一个实例。在DTD术语中,元素的内容由序列a?,b?,c?,d?,...定义。
      参见:
    • CHILD_POLICY_CHOICE

      static final int CHILD_POLICY_CHOICE
      getChildPolicy返回的常量,表示元素必须有零个或一个子元素,从其合法子元素中选择。在DTD术语中,元素的内容由选择a|b|c|d|...定义。
      参见:
    • CHILD_POLICY_SEQUENCE

      static final int CHILD_POLICY_SEQUENCE
      getChildPolicy返回的常量,表示元素必须具有其合法子元素的实例序列。在DTD术语中,元素的内容由序列(a|b|c|d|...)*定义。
      参见:
    • CHILD_POLICY_REPEAT

      static final int CHILD_POLICY_REPEAT
      getChildPolicy返回的常量,表示元素必须具有其唯一合法子元素的零个或多个实例。在DTD术语中,元素的内容由星号表达式a*定义。
      参见:
    • CHILD_POLICY_MAX

      static final int CHILD_POLICY_MAX
      CHILD_POLICY_*的最大有效常量,用于范围检查。
      参见:
    • VALUE_NONE

      static final int VALUE_NONE
      getObjectValueType返回的常量,表示用户对象不存在。
      参见:
    • VALUE_ARBITRARY

      static final int VALUE_ARBITRARY
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为单个任意值。
      参见:
    • VALUE_RANGE

      static final int VALUE_RANGE
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为一系列值。范围的最小值和最大值都是排他的。建议整数范围两端都是包含的,仅对浮点数据使用排他范围。
      参见:
    • VALUE_RANGE_MIN_INCLUSIVE_MASK

      static final int VALUE_RANGE_MIN_INCLUSIVE_MASK
      可与VALUE_RANGE或运算以获得VALUE_RANGE_MIN_INCLUSIVE,与VALUE_RANGE_MAX_INCLUSIVE或运算以获得VALUE_RANGE_MIN_MAX_INCLUSIVE

      类似地,该值可与getAttributeValueTypegetObjectValueType的值进行与运算,以确定范围的最小值是否包含在内。

      参见:
    • VALUE_RANGE_MAX_INCLUSIVE_MASK

      static final int VALUE_RANGE_MAX_INCLUSIVE_MASK
      可与VALUE_RANGE或运算以获得VALUE_RANGE_MAX_INCLUSIVE,与VALUE_RANGE_MIN_INCLUSIVE或运算以获得VALUE_RANGE_MIN_MAX_INCLUSIVE

      类似地,该值可与getAttributeValueTypegetObjectValueType的值进行与运算,以确定范围的最大值是否包含在内。

      参见:
    • VALUE_RANGE_MIN_INCLUSIVE

      static final int VALUE_RANGE_MIN_INCLUSIVE
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为一系列值。范围的最小值(但不是最大值)是包含的。
      参见:
    • VALUE_RANGE_MAX_INCLUSIVE

      static final int VALUE_RANGE_MAX_INCLUSIVE
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为一系列值。最大值(但不是最小值)是包含的。
      参见:
    • VALUE_RANGE_MIN_MAX_INCLUSIVE

      static final int VALUE_RANGE_MIN_MAX_INCLUSIVE
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为一系列值。范围的最小值和最大值都是包含的。建议整数范围两端都是包含的,仅对浮点数据使用排他范围。
      参见:
    • VALUE_ENUMERATION

      static final int VALUE_ENUMERATION
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为一组枚举值。对于属性,这些值是String;对于对象,它们是实现给定类或接口的Object

      类型为DATATYPE_BOOLEAN的属性值应标记为枚举。

      参见:
    • VALUE_LIST

      static final int VALUE_LIST
      getAttributeValueTypegetObjectValueType返回的常量,表示属性或用户对象可以设置为值的列表或数组。对于属性,列表将由String中的空格分隔值组成;对于对象,将使用数组。
      参见:
    • DATATYPE_STRING

      static final int DATATYPE_STRING
      getAttributeDataType返回的常量,指示属性的值是一般的Unicode字符串。
      参见:
    • DATATYPE_BOOLEAN

      static final int DATATYPE_BOOLEAN
      getAttributeDataType返回的常量,指示属性的值是布尔值“true”或“false”中的一个。类型为DATATYPE_BOOLEAN的属性值应标记为枚举,并且允许的值应为字符串文字值“TRUE”或“FALSE”,尽管插件也可以识别小写或混合大小写的等效值。
      参见:
    • DATATYPE_INTEGER

      static final int DATATYPE_INTEGER
      getAttributeDataType返回的常量,指示属性的值是整数的字符串表示。
      参见:
    • DATATYPE_FLOAT

      static final int DATATYPE_FLOAT
      getAttributeDataType返回的常量,指示属性的值是十进制浮点数的字符串表示。
      参见:
    • DATATYPE_DOUBLE

      static final int DATATYPE_DOUBLE
      getAttributeDataType返回的常量,指示属性的值是双精度十进制浮点数的字符串表示。
      参见:
  • Method Details

    • getRootName

      String getRootName()
      返回格式的根元素的名称。
      返回:
      一个String
    • canNodeAppear

      boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType)
      如果元素(及其下面的子树)允许出现在与给定类型的图像相关的元数据文档中,则返回true,该类型由ImageTypeSpecifier定义。例如,元数据文档格式可能包含描述图像的主要颜色的元素,在编写灰度图像时将不允许出现。
      参数:
      elementName - 要查询的元素的名称。
      imageType - 表示将与元数据关联的图像类型的ImageTypeSpecifier
      返回:
      如果节点对给定类型的图像有意义,则返回true
    • getElementMinChildren

      int getElementMinChildren(String elementName)
      返回具有子策略CHILD_POLICY_REPEAT的命名元素的最小子元素数。例如,表示颜色主要信息的元素可能需要至少有3个子元素,每个主要颜色一个。
      参数:
      elementName - 要查询的元素名称。
      返回:
      一个 int
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果命名元素没有子策略为 CHILD_POLICY_REPEAT
    • getElementMaxChildren

      int getElementMaxChildren(String elementName)
      返回具有子策略 CHILD_POLICY_REPEAT 的命名元素的最大子元素数量。例如,表示8位颜色调色板中条目的元素可能允许重复最多256次。可以使用 Integer.MAX_VALUE 来指定没有上限。
      参数:
      elementName - 要查询的元素名称。
      返回:
      一个 int
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果命名元素没有子策略为 CHILD_POLICY_REPEAT
    • getElementDescription

      String getElementDescription(String elementName, Locale locale)
      返回一个包含命名元素描述的 String,或 null。如果可能,描述将针对提供的 Locale 进行本地化。

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

      参数:
      elementName - 元素的名称。
      locale - 将尝试本地化的 Locale
      返回:
      元素描述。
      抛出:
      IllegalArgumentException - 如果 elementNamenull,或不是此格式的合法元素名称。
    • getChildPolicy

      int getChildPolicy(String elementName)
      返回以 CHILD_POLICY_ 开头的常量之一,指示命名元素的子元素的合法模式。
      参数:
      elementName - 要查询的元素名称。
      返回:
      CHILD_POLICY_* 常量之一。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
    • getChildNames

      String[] getChildNames(String elementName)
      返回一个 String 数组,指示允许作为命名元素子元素的元素名称,按照它们应出现的顺序。如果元素不能有子元素,则返回 null
      参数:
      elementName - 要查询的元素名称。
      返回:
      一个 String 数组,或 null。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
    • getAttributeNames

      String[] getAttributeNames(String elementName)
      返回一个包含可与命名元素关联的属性名称的 String 数组。
      参数:
      elementName - 要查询的元素名称。
      返回:
      一个 String 数组。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
    • getAttributeValueType

      int getAttributeValueType(String elementName, String attrName)
      返回以 VALUE_ 开头的常量之一,指示给定属性的值在命名元素内是任意的、受限于指定范围内、受限于一组枚举值之一,或者是一组任意值的以空格分隔的列表。
      参数:
      elementName - 要查询的元素名称。
      attrName - 要查询的属性名称。
      返回:
      VALUE_* 常量之一。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果 attrNamenull 或不是此元素的合法属性名称。
    • getAttributeDataType

      int getAttributeDataType(String elementName, String attrName)
      返回以 DATATYPE_ 开头的常量之一,指示命名元素内给定属性的值的格式和解释。如果 getAttributeValueType 返回 VALUE_LIST,则合法值是返回数据类型的值的以空格分隔的列表。
      参数:
      elementName - 要查询的元素名称。
      attrName - 要查询的属性名称。
      返回:
      DATATYPE_* 常量之一。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果 attrNamenull 或不是此元素的合法属性名称。
    • isAttributeRequired

      boolean isAttributeRequired(String elementName, String attrName)
      如果命名属性必须存在于命名元素内,则返回 true
      参数:
      elementName - 要查询的元素名称。
      attrName - 要查询的属性名称。
      返回:
      如果属性必须存在,则返回 true
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果 attrNamenull 或不是此元素的合法属性名称。
    • getAttributeDefaultValue

      String getAttributeDefaultValue(String elementName, String attrName)
      如果命名元素内未明确提供命名属性的默认值,则返回默认值作为 String,如果没有默认值可用,则返回 null
      参数:
      elementName - 要查询的元素名称。
      attrName - 要查询的属性名称。
      返回:
      包含默认值的 String,或 null
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果 attrNamenull 或不是此元素的合法属性名称。
    • getAttributeEnumerations

      String[] getAttributeEnumerations(String elementName, String attrName)
      返回一个包含命名元素内给定属性的合法枚举值的 String 数组。只有在 getAttributeValueType 返回 VALUE_ENUMERATION 时才应调用此方法。
      参数:
      elementName - 要查询的元素名称。
      attrName - 要查询的属性名称。
      返回:
      一个 String 数组。
      抛出:
      IllegalArgumentException - 如果 elementNamenull 或不是此格式的合法元素名称。
      IllegalArgumentException - 如果 attrNamenull 或不是此元素的合法属性名称。
      IllegalArgumentException - 如果给定属性未定义为枚举。
    • getAttributeMinValue

      String getAttributeMinValue(String elementName, String attrName)
      返回属性的最小合法值。该值是包含或不包含的取决于 getAttributeValueType 的值。该值以 String 形式返回;其解释取决于 getAttributeDataType 的值。只有在 getAttributeValueType 返回 VALUE_RANGE_* 时才应调用此方法。
      参数:
      elementName - 被查询元素的名称。
      attrName - 被查询属性的名称。
      返回:
      包含属性的最小合法值的String
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果attrNamenull或不是此元素的合法属性名称。
      IllegalArgumentException - 如果给定的属性未定义为范围。
    • getAttributeMaxValue

      String getAttributeMaxValue(String elementName, String attrName)
      返回属性的最大合法值。该值是包容的还是排他的取决于getAttributeValueType的值。该值以String形式返回;其解释取决于getAttributeDataType的值。只有当getAttributeValueType返回VALUE_RANGE_*时才应调用此方法。
      参数:
      elementName - 被查询元素的名称,作为String
      attrName - 被查询属性的名称。
      返回:
      包含属性的最大合法值的String
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果attrNamenull或不是此元素的合法属性名称。
      IllegalArgumentException - 如果给定的属性未定义为范围。
    • getAttributeListMinLength

      int getAttributeListMinLength(String elementName, String attrName)
      返回可用于定义此属性的列表项的最小数量。属性本身被定义为包含多个以空格分隔的项的String。只有当getAttributeValueType返回VALUE_LIST时才应调用此方法。
      参数:
      elementName - 被查询元素的名称。
      attrName - 被查询属性的名称。
      返回:
      属性的最小合法列表项数。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果attrNamenull或不是此元素的合法属性名称。
      IllegalArgumentException - 如果给定的属性未定义为列表。
    • getAttributeListMaxLength

      int getAttributeListMaxLength(String elementName, String attrName)
      返回可用于定义此属性的列表项的最大数量。可以使用Integer.MAX_VALUE指定没有上限。属性本身被定义为包含多个以空格分隔的项的String。只有当getAttributeValueType返回VALUE_LIST时才应调用此方法。
      参数:
      elementName - 被查询元素的名称。
      attrName - 被查询属性的名称。
      返回:
      属性的最大合法列表项数。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果attrNamenull或不是此元素的合法属性名称。
      IllegalArgumentException - 如果给定的属性未定义为列表。
    • getAttributeDescription

      String getAttributeDescription(String elementName, String attrName, Locale locale)
      返回包含命名属性描述的String,或null。如果可能,描述将针对提供的Locale进行本地化。

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

      参数:
      elementName - 元素的名称。
      attrName - 属性的名称。
      locale - 将尝试本地化的Locale
      返回:
      属性描述。
      抛出:
      IllegalArgumentException - 如果elementNamenull,或不是此格式的合法元素名称。
      IllegalArgumentException - 如果attrNamenull或不是此元素的合法属性名称。
    • getObjectValueType

      int getObjectValueType(String elementName)
      返回以VALUE_开头的枚举值之一,指示允许用于Object引用的值的类型(枚举、范围或数组)。如果给定元素内无法存储对象值,则此方法的结果将是VALUE_NONE

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

      参数:
      elementName - 被查询元素的名称。
      返回:
      VALUE_*常量之一。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      参见:
    • getObjectClass

      Class<?> getObjectClass(String elementName)
      返回存储在元素内的Object引用的Class类型。如果此元素不允许包含Object引用,则将抛出IllegalArgumentException。如果类类型是数组,则此字段指示底层类类型(例如,对于int数组,此方法将返回int.class)。

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

      参数:
      elementName - 被查询元素的名称。
      返回:
      一个Class对象。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果命名元素不允许包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
    • getObjectDefaultValue

      Object getObjectDefaultValue(String elementName)
      返回包含命名元素内的Object引用的默认值的Object
      参数:
      elementName - 被查询元素的名称。
      返回:
      一个Object
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果命名元素不允许包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
    • getObjectEnumerations

      Object[] getObjectEnumerations(String elementName)
      返回包含命名元素内的Object引用的合法枚举值的Object数组。只有当getObjectValueType返回VALUE_ENUMERATION时才应调用此方法。

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

      参数:
      elementName - 被查询元素的名称。
      返回:
      一个Object数组。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果命名元素不允许包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
      IllegalArgumentException - 如果Object未定义为枚举。
    • getObjectMinValue

      Comparable<?> getObjectMinValue(String elementName)
      返回指定元素内Object引用的最小合法值。该值是包含的还是排除的取决于getObjectValueType的值。只有当getObjectValueType返回以VALUE_RANGE开头的常量之一时,才应调用此方法。
      参数:
      elementName - 要查询的元素的名称。
      返回:
      属性的最小合法值。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果指定的元素不能包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
      IllegalArgumentException - 如果Object未定义为范围。
    • getObjectMaxValue

      Comparable<?> getObjectMaxValue(String elementName)
      返回指定元素内Object引用的最大合法值。该值是包含的还是排除的取决于getObjectValueType的值。只有当getObjectValueType返回以VALUE_RANGE开头的常量之一时,才应调用此方法。
      参数:
      elementName - 要查询的元素的名称。
      返回:
      属性的最小合法值。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果指定的元素不能包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
      IllegalArgumentException - 如果Object未定义为范围。
    • getObjectArrayMinLength

      int getObjectArrayMinLength(String elementName)
      返回用于定义指定元素内Object引用的最小数组元素数。只有当getObjectValueType返回VALUE_LIST时才应调用此方法。
      参数:
      elementName - 要查询的元素的名称。
      返回:
      Object引用的最小有效数组长度。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果指定的元素不能包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
      IllegalArgumentException - 如果Object不是数组。
    • getObjectArrayMaxLength

      int getObjectArrayMaxLength(String elementName)
      返回用于定义指定元素内Object引用的最大数组元素数。可以使用Integer.MAX_VALUE指定没有上限。只有当getObjectValueType返回VALUE_LIST时才应调用此方法。
      参数:
      elementName - 要查询的元素的名称。
      返回:
      Object引用的最大有效数组长度。
      抛出:
      IllegalArgumentException - 如果elementNamenull或不是此格式的合法元素名称。
      IllegalArgumentException - 如果指定的元素不能包含对象值(即,如果getObjectValueType(elementName) == VALUE_NONE)。
      IllegalArgumentException - 如果Object不是数组。