-
- 所有已知实现类:
-
IIOMetadataFormatImpl
public interface IIOMetadataFormat
描述从IIOMetadata.getAsTree
返回的元数据文档的结构并传递给IIOMetadata.setFromTree
和mergeTree
。 文档结构通过对属于给定父元素类型的子元素的类型和数量的一组约束来描述,这些子元素可以属于元素的属性的名称,类型和值,以及Object
的类型和值可以存储在节点处的引用。注意:实现此接口的类应该包含一个声明为
public static getInstance()
的方法,它返回该类的一个实例。 通常,一个实现将仅构造一个实例并将其缓存以供将来调用getInstance
。如果插件作为命名模块的一部分提供,该模块必须将包含实现类的包导出到
java.desktop
模块通过合格的导出。 除非有其他原因,否则不推荐出口不合格。 导出包未能导致运行时访问失败。该类可以描述的结构是使用XML文档类型定义(DTD)可表达的结构的一个子集,其中添加了关于属性的数据类型的一些基本信息,以及在节点内存储
Object
引用的能力。 将来,XML Schemas可以用于表示这些结构,还有许多其他结构。IIOMetadataFormat
描述的结构和DTD之间的差异如下:- 元素可能不包含文本或使用嵌入的标签混合文本。
- 元素的子元素必须符合
CHILD_*
常数的文档中描述的几种简单模式之一; - 元素的内存中表示可以包含对
Object
的引用。 没有规定文字表示这些对象。
-
-
Field Summary
Fields Modifier and Type Field 描述 static int
CHILD_POLICY_ALL
一个由getChildPolicy
返回的常数,以表示元素必须具有每个其合法子元素的单个实例。static int
CHILD_POLICY_CHOICE
一个由getChildPolicy
返回的getChildPolicy
,表示一个元素必须有零个或一个孩子,从其合法的子元素中选择。static int
CHILD_POLICY_EMPTY
一个常数由getChildPolicy
返回,表示某个元素可能没有任何子项。static int
CHILD_POLICY_MAX
最大有效CHILD_POLICY_*
常数,用于范围检查。static int
CHILD_POLICY_REPEAT
一个由getChildPolicy
返回的getChildPolicy
,表示一个元素必须有零个或多个独特的合法子元素的实例。static int
CHILD_POLICY_SEQUENCE
一个由getChildPolicy
返回的getChildPolicy
,表示一个元素必须有其任何法定子元素的实例序列。static int
CHILD_POLICY_SOME
一个由getChildPolicy
返回的getChildPolicy
以表示元素必须具有每个其合法子元素的零个或一个实例。static int
DATATYPE_BOOLEAN
一个由getAttributeDataType
返回的getAttributeDataType
指示属性的值是布尔值“true”或“false”之一。static int
DATATYPE_DOUBLE
由getAttributeDataType
返回的getAttributeDataType
表示属性的值是双精度十进制浮点数的字符串表示形式。static int
DATATYPE_FLOAT
由getAttributeDataType
返回的getAttributeDataType
表示属性的值是十进制浮点数的字符串表示形式。static int
DATATYPE_INTEGER
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是整数的字符串表示形式。static int
DATATYPE_STRING
一个由getAttributeDataType
返回的getAttributeDataType
表示一个属性的值是一般的Unicode字符串。static int
VALUE_ARBITRARY
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为单个任意值。static int
VALUE_ENUMERATION
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为多个枚举值之一。static int
VALUE_LIST
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为值列表或数组。static int
VALUE_NONE
一个由getObjectValueType
返回的getObjectValueType
,表示没有用户对象。static int
VALUE_RANGE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为值范围。static int
VALUE_RANGE_MAX_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为一个值范围。static int
VALUE_RANGE_MAX_INCLUSIVE_MASK
一个可以用VALUE_RANGE
或以VALUE_RANGE
取得的VALUE_RANGE_MAX_INCLUSIVE
,并用VALUE_RANGE_MIN_INCLUSIVE
取得VALUE_RANGE_MIN_MAX_INCLUSIVE
。static int
VALUE_RANGE_MIN_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为一定范围的值。static int
VALUE_RANGE_MIN_INCLUSIVE_MASK
可以用VALUE_RANGE
取得VALUE_RANGE_MIN_INCLUSIVE
,并用VALUE_RANGE_MAX_INCLUSIVE
获得VALUE_RANGE_MIN_MAX_INCLUSIVE
。static int
VALUE_RANGE_MIN_MAX_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为值范围。
-
方法摘要
所有方法 接口方法 抽象方法 Modifier and Type 方法 描述 boolean
canNodeAppear(String elementName, ImageTypeSpecifier imageType)
如果true
元素(及其下面的子树)允许出现在由ImageTypeSpecifier
定义的给定类型的图像的元数据文档中。int
getAttributeDataType(String elementName, String attrName)
返回以DATATYPE_
开头的常量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_
开头的常量VALUE_
,指示指定元素中给定属性的值是否是任意的,被限制在指定范围内,被限制为一组枚举值中的一个,或者是空格分隔的列表的任意值。String[]
getChildNames(String elementName)
返回一个String
的数组,表示允许作为命名元素的子元素的元素的名称,按照它们应该出现的顺序。int
getChildPolicy(String elementName)
返回以CHILD_POLICY_
开头的常量CHILD_POLICY_
,指示命名元素的CHILD_POLICY_
的合法模式。String
getElementDescription(String elementName, Locale locale)
返回一个String
其中包含命名元素的描述,或null
。int
getElementMaxChildren(String elementName)
返回具有子策略CHILD_POLICY_REPEAT
的命名元素的最大子CHILD_POLICY_REPEAT
。int
getElementMinChildren(String elementName)
返回具有子策略CHILD_POLICY_REPEAT
的命名元素的最CHILD_POLICY_REPEAT
。int
getObjectArrayMaxLength(String elementName)
返回可用于定义指定元素中的Object
引用的最大数组元素数。int
getObjectArrayMinLength(String elementName)
返回可能用于定义指定元素中的Object
引用的最小数组元素数。Class<?>
getObjectClass(String elementName)
返回存储在元素中的Object
参考的Class
类型。Object
getObjectDefaultValue(String elementName)
返回一个Object
其中包含命名元素中的Object
引用的默认值。Object[]
getObjectEnumerations(String elementName)
返回一个Object
的数组,Object
包含命名元素中的Object
引用的合法枚举值。Comparable<?>
getObjectMaxValue(String elementName)
返回指定元素中Object
引用的最大合法值。Comparable<?>
getObjectMinValue(String elementName)
返回指定元素中Object
引用的最小合法值。int
getObjectValueType(String elementName)
返回以VALUE_
开头的枚举值VALUE_
,指示Object
引用允许的值(枚举,范围或数组)的Object
。String
getRootName()
返回格式的根元素的名称。boolean
isAttributeRequired(String elementName, String attrName)
如果命名的属性必须存在于命名的元素中,则返回true
。
-
-
-
字段详细信息
-
CHILD_POLICY_EMPTY
static final int CHILD_POLICY_EMPTY
一个常数由getChildPolicy
返回,表示某个元素可能没有任何子项。 换句话说,它需要是叶节点。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_ALL
static final int CHILD_POLICY_ALL
一个由getChildPolicy
返回的getChildPolicy
以表示元素必须具有每个其合法子元素的单个实例。 在DTD术语中,元素的内容由序列a,b,c,d,...
定义。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_SOME
static final int CHILD_POLICY_SOME
一个由getChildPolicy
返回的常数,以表示元素必须按顺序具有其每个合法子元素的零个或一个实例。 在DTD术语中,元素的内容由序列a?,b?,c?,d?,...
定义。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_CHOICE
static final int CHILD_POLICY_CHOICE
由getChildPolicy
返回的getChildPolicy
表示元素必须有零个或一个小孩,从其合法的子元素中选出。 在DTD术语中,元素的内容由选择a|b|c|d|...
定义。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_SEQUENCE
static final int CHILD_POLICY_SEQUENCE
一个由getChildPolicy
返回的getChildPolicy
,表示一个元素必须具有任何其合法子元素的实例序列。 在DTD术语中,元素的内容由序列(a|b|c|d|...)*
定义。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_REPEAT
static final int CHILD_POLICY_REPEAT
一个由getChildPolicy
返回的getChildPolicy
,表示一个元素必须有零个或多个独特的合法子元素的实例。 在DTD术语中,元素的内容由星号表达式a*
定义。- 另请参见:
- Constant Field Values
-
CHILD_POLICY_MAX
static final int CHILD_POLICY_MAX
最大有效CHILD_POLICY_*
常数,用于范围检查。- 另请参见:
- Constant Field Values
-
VALUE_NONE
static final int VALUE_NONE
由getObjectValueType
返回的getObjectValueType
表示没有用户对象。- 另请参见:
- Constant Field Values
-
VALUE_ARBITRARY
static final int VALUE_ARBITRARY
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为单个任意值。- 另请参见:
- Constant Field Values
-
VALUE_RANGE
static final int VALUE_RANGE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为值范围。 范围的最小值和最大值都是独占的。 建议两端的整数范围是包含的,唯一的范围只能用于浮点数据。
-
VALUE_RANGE_MIN_INCLUSIVE_MASK
static final int VALUE_RANGE_MIN_INCLUSIVE_MASK
可以用VALUE_RANGE
或以VALUE_RANGE
取得的VALUE_RANGE_MIN_INCLUSIVE
,并用VALUE_RANGE_MAX_INCLUSIVE
获得VALUE_RANGE_MIN_MAX_INCLUSIVE
。类似地,该值可以与值
getAttributeValueType
或getObjectValueType
一起确定,以确定范围的最小值是否包含在内。- 另请参见:
- Constant Field Values
-
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
。类似地,可以使用值
getAttributeValueType
或getObjectValueType
来确定该范围的最大值是否包含在内。- 另请参见:
- Constant Field Values
-
VALUE_RANGE_MIN_INCLUSIVE
static final int VALUE_RANGE_MIN_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
来指示属性或用户对象可能被设置为一个值的范围。 范围的最小值(但不是最大值)是包含值。- 另请参见:
- Constant Field Values
-
VALUE_RANGE_MAX_INCLUSIVE
static final int VALUE_RANGE_MAX_INCLUSIVE
一个由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,以指示属性或用户对象可以设置为一个值的范围。 范围的最大值(但不是最小值)是包含值。- 另请参见:
- Constant Field Values
-
VALUE_RANGE_MIN_MAX_INCLUSIVE
static final int VALUE_RANGE_MIN_MAX_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为值范围。 范围的最小值和最大值都是包含值。 建议两端的整数范围是包含的,唯一的范围只能用于浮点数据。- 另请参见:
- Constant Field Values
-
VALUE_ENUMERATION
static final int VALUE_ENUMERATION
由getAttributeValueType
和getObjectValueType
返回的常数表示可以将属性或用户对象设置为多个枚举值之一。 在属性的情况下,这些值为String
s; 对于对象,它们是Object
s实现给定的类或接口。类型为
DATATYPE_BOOLEAN
属性值应标记为枚举。- 另请参见:
- Constant Field Values
-
VALUE_LIST
static final int VALUE_LIST
一个常数由getAttributeValueType
和getObjectValueType
返回,以表示属性或用户对象可能被设置为列表或数组。 在属性的情况下,列表将由String
内的空格分隔值String
; 对于对象,将使用数组。- 另请参见:
- Constant Field Values
-
DATATYPE_STRING
static final int DATATYPE_STRING
一个由getAttributeDataType
返回的getAttributeDataType
表示属性的值是一般的Unicode字符串。- 另请参见:
- Constant Field Values
-
DATATYPE_BOOLEAN
static final int DATATYPE_BOOLEAN
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是布尔值“true”或“false”之一。 类型为DATATYPE_BOOLEAN的属性值应该被标记为枚举,并且允许的值应该是字符串文字值“TRUE”或“FALSE”,尽管插件也可以识别较低或混合的大小写等价物。- 另请参见:
- Constant Field Values
-
DATATYPE_INTEGER
static final int DATATYPE_INTEGER
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是整数的字符串表示形式。- 另请参见:
- Constant Field Values
-
DATATYPE_FLOAT
static final int DATATYPE_FLOAT
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是十进制浮点数的字符串表示形式。- 另请参见:
- Constant Field Values
-
DATATYPE_DOUBLE
static final int DATATYPE_DOUBLE
由getAttributeDataType
返回的getAttributeDataType
表示属性的值是双精度十进制浮点数的字符串表示形式。- 另请参见:
- Constant Field Values
-
-
方法详细信息
-
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
的命名元素的最CHILD_POLICY_REPEAT
。 例如,表示颜色主要信息的元素可能需要至少有3个小孩,每个小学一个。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
int
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果named元素没有子策略CHILD_POLICY_REPEAT
。
-
getElementMaxChildren
int getElementMaxChildren(String elementName)
返回具有子策略CHILD_POLICY_REPEAT
的命名元素的最大子CHILD_POLICY_REPEAT
。 例如,可以允许在8位调色板中表示条目的元素重复多达256次。 可以使用值Integer.MAX_VALUE
来指定没有上限。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
int
。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果named元素没有子策略CHILD_POLICY_REPEAT
。
-
getElementDescription
String getElementDescription(String elementName, Locale locale)
返回一个String
其中包含命名元素的描述,或null
。 如果可能,说明将被本地化为所提供的Locale
。如果
locale
为null
,当前的默认Locale
由归国Locale.getLocale
将被使用。- 参数
-
elementName
- 元素的名称。 -
locale
- 将尝试本地化的Locale
。 - 结果
- 元素描述。
- 异常
-
IllegalArgumentException
- 如果elementName
为null
,或不是此格式的法定元素名称。
-
getChildPolicy
int getChildPolicy(String elementName)
返回从CHILD_POLICY_
开始的常量CHILD_POLICY_
,指示命名元素的CHILD_POLICY_
的合法模式。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
其中一个
CHILD_POLICY_*
常量。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。
-
getChildNames
String[] getChildNames(String elementName)
返回一个String
s的数组,表示允许作为命名元素的子元素的元素的名称,按照它们应该出现的顺序。 如果该元素不能有子元素,则返回null
。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
String
的数组,或null。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。
-
getAttributeNames
String[] getAttributeNames(String elementName)
返回一个String
的数组,列出可能与命名元素相关联的属性的名称。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
String
的数组。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的合法元素名称。
-
getAttributeValueType
int getAttributeValueType(String elementName, String attrName)
返回从VALUE_
开始的常量VALUE_
,指示指定元素中给定属性的值是否是任意的,被限制在指定范围内,被限制为一组枚举值之一,或是空格分隔的列表的任意值。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
其中一个
VALUE_*
常量。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。
-
getAttributeDataType
int getAttributeDataType(String elementName, String attrName)
返回以DATATYPE_
开头的常量DATATYPE_
,表示指定元素中给定属性的值的格式和解释。 如果getAttributeValueType
返回VALUE_LIST
,则合法值是返回数据类型的值的空白列表。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
DATATYPE_*
常量。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。
-
isAttributeRequired
boolean isAttributeRequired(String elementName, String attrName)
如果命名的属性必须在命名的元素中,则返回true
。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
true
如果属性必须存在。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。
-
getAttributeDefaultValue
String getAttributeDefaultValue(String elementName, String attrName)
如果没有默认值可用,则返回命名属性的默认值(如果它未显式存在于命名元素中),String
,或null
。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含默认值,或null
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。
-
getAttributeEnumerations
String[] getAttributeEnumerations(String elementName, String attrName)
返回一个String
的数组,String
包含指定元素中给定属性的合法枚举值。 仅当getAttributeValueType
返回VALUE_ENUMERATION
才应该调用此方法。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
的数组。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。 -
IllegalArgumentException
- 如果给定的属性未定义为枚举。
-
getAttributeMinValue
String getAttributeMinValue(String elementName, String attrName)
返回属性的最小合法值。 该值是否包含或排除可以由值getAttributeValueType
确定。 该值返回为String
; 其解释取决于getAttributeDataType
的值。 只有getAttributeValueType
返回VALUE_RANGE_*
才应该调用此方法。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含该属性的最小合法值。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
为null
或不是此元素的合法属性名称。 -
IllegalArgumentException
- 如果给定属性未定义为范围。
-
getAttributeMaxValue
String getAttributeMaxValue(String elementName, String attrName)
返回属性的最大合法值。 该值是否包含或排除可以由值getAttributeValueType
确定。 该值返回为String
; 其解释取决于getAttributeDataType
的值。 此方法只能在getAttributeValueType
返回VALUE_RANGE_*
。- 参数
-
elementName
- 要查询的元素的名称,作为String
。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含该属性的最大合法值。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
为null
或不是此元素的合法属性名称。 -
IllegalArgumentException
- 如果给定属性未定义为范围。
-
getAttributeListMinLength
int getAttributeListMinLength(String elementName, String attrName)
返回可用于定义此属性的列表项的最小数量。 属性本身定义为包含多个空格分隔的项目的String
。 仅当getAttributeValueType
返回VALUE_LIST
才应该调用此方法。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
- 属性的列表项的最小合法数量。
- 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。 -
IllegalArgumentException
- 如果给定的属性未定义为列表。
-
getAttributeListMaxLength
int getAttributeListMaxLength(String elementName, String attrName)
返回可用于定义此属性的列表项的最大数量。 可以使用值Integer.MAX_VALUE
来指定没有上限。 属性本身定义为包含多个空格分隔的项目的String
。 该方法只能在getAttributeValueType
返回VALUE_LIST
。- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
- 属性的列表项的最大合法数量。
- 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。 -
IllegalArgumentException
- 如果给定属性未定义为列表。
-
getAttributeDescription
String getAttributeDescription(String elementName, String attrName, Locale locale)
返回String
含有指定属性,或的描述null
。 如果可能,说明将被本地化为所提供的Locale
。如果
locale
为null
,当前的默认Locale
由归国Locale.getLocale
将被使用。- 参数
-
elementName
- 元素的名称。 -
attrName
- 属性的名称。 -
locale
- 将尝试本地化的Locale
。 - 结果
- 属性描述。
- 异常
-
IllegalArgumentException
- 如果elementName
为null
,或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。
-
getObjectValueType
int getObjectValueType(String elementName)
返回从VALUE_
开始的枚举值VALUE_
,指示Object
引用允许的值(枚举,范围或数组)的Object
。 如果给定元素中没有存储对象值,则该方法的结果为VALUE_NONE
。Object
其法定值定义为范围的引用必须实现Comparable
接口。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
其中一个
VALUE_*
常量。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的法定元素名称。 - 另请参见:
-
Comparable
-
getObjectClass
Class<?> getObjectClass(String elementName)
返回存储在元素中的Object
参考的Class
类型。 如果此元素可能不包含Object
引用,则将抛出IllegalArgumentException
。 如果类类型是数组,则此字段指示底层类型( 例如 ,对于int
的数组,此方法将返回int.class
)。Object
其法定值定义为范围的引用必须实现Comparable
接口。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Class
对象。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果指定的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。
-
getObjectDefaultValue
Object getObjectDefaultValue(String elementName)
返回一个Object
s,其中包含命名元素中的Object
引用的默认值。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Object
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果命名的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。
-
getObjectEnumerations
Object[] getObjectEnumerations(String elementName)
返回一个Object
的数组,Object
包含命名元素中的Object
引用的合法枚举值。 该方法只能在getObjectValueType
返回VALUE_ENUMERATION
。与接受枚举值的节点相关联的
Object
必须等于由==
运算符定义的此方法返回的值之一(与Object.equals
方法相反)。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Object
的数组。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果命名的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。 -
IllegalArgumentException
- 如果Object
未定义为枚举。
-
getObjectMinValue
Comparable<?> getObjectMinValue(String elementName)
返回指定元素中Object
引用的最小合法值。 该值是否包含或排除可以由值getObjectValueType
确定。 只有当getObjectValueType
返回以VALUE_RANGE
开头的常量之一时,才应该调用此方法。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
- 该属性的最小合法值。
- 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果指定的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。 -
IllegalArgumentException
- 如果Object
未定义为范围。
-
getObjectMaxValue
Comparable<?> getObjectMaxValue(String elementName)
返回指定元素中Object
引用的最大合法值。 该值是否包含或排除可以由值getObjectValueType
确定。 仅当getObjectValueType
返回以VALUE_RANGE
开头的常量之一时,才应该调用此方法。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
- 该属性的最小合法值。
- 异常
-
IllegalArgumentException
- 如果elementName
为null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果命名的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。 -
IllegalArgumentException
- 如果Object
未定义为范围。
-
getObjectArrayMinLength
int getObjectArrayMinLength(String elementName)
返回可用于定义指定元素中Object
引用的最小数组元素数。 该方法只能在getObjectValueType
返回VALUE_LIST
。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
Object
参考的最小有效数组长度。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果指定的元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。 -
IllegalArgumentException
- 如果Object
不是数组。
-
getObjectArrayMaxLength
int getObjectArrayMaxLength(String elementName)
返回可用于定义指定元素中的Object
引用的最大数组元素数。 可以使用值Integer.MAX_VALUE
来指定没有上限。 此方法只能在getObjectValueType
返回VALUE_LIST
。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
Object
参考的最大有效数组长度。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果命名元素不能包含对象值( 即 ,如果为getObjectValueType(elementName) == VALUE_NONE
)。 -
IllegalArgumentException
- 如果Object
不是数组。
-
-