-
- 所有已知实现类:
-
IIOMetadataFormatImpl
public interface IIOMetadataFormat
描述从IIOMetadata.getAsTree
返回并传递到IIOMetadata.setFromTree
和mergeTree
的元数据文档结构的对象。 文档结构由对可能属于给定父元素类型的子元素的类型和数量的一组约束,可能属于元素的属性的名称,类型和值以及Object
的类型和值Object
可以存储在节点处的引用。注意:实现此接口的类应包含声明为
public static getInstance()
的方法,该方法返回该类的实例。 通常,实现将仅构造单个实例并将其缓存以供将来调用getInstance
。如果插件是作为命名模块的一部分提供的,那么该模块必须将包含实现类的包导出到
java.desktop
模块通过合格的出口。 除非出于其他原因需要,否则不建议使用不合格的出口。 无法导出包将导致运行时访问失败。可以由此类描述的结构是使用XML文档类型定义(DTD)表达的结构的子集,添加了关于属性的数据类型的一些基本信息以及在节点内存储
Object
引用的能力。 将来,XML Schema可用于表示这些结构以及许多其他结构。IIOMetadataFormat
描述的结构和DTD之间的差异如下:- 元素可能不包含带有嵌入标记的文本或混合文本。
- 元素的子元素必须符合
CHILD_*
常量文档中描述的一些简单模式之一; - 元素的内存中表示可以包含对
Object
的引用。 没有规定以文本方式表示此类对象。
-
-
字段汇总
字段 变量和类型 字段 描述 static int
CHILD_POLICY_ALL
getChildPolicy
返回的getChildPolicy
,表示元素必须按getChildPolicy
具有每个合法子元素的单个实例。static int
CHILD_POLICY_CHOICE
getChildPolicy
返回的getChildPolicy
,表示元素必须具有零个或一个子元素,从其合法子元素中选择。static int
CHILD_POLICY_EMPTY
由getChildPolicy
返回的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
返回的getAttributeValueType
,指示属性或用户对象可以设置单个任意值。static int
VALUE_ENUMERATION
getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,指示属性或用户对象可以设置多个枚举值之一。static int
VALUE_LIST
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,指示可以将属性或用户对象设置为值列表或数组。static int
VALUE_NONE
由getObjectValueType
返回的getObjectValueType
,表示缺少用户对象。static int
VALUE_RANGE
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示可以为属性或用户对象设置值范围。static int
VALUE_RANGE_MAX_INCLUSIVE
getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示属性或用户对象可以设置为值范围。static int
VALUE_RANGE_MAX_INCLUSIVE_MASK
可以使用VALUE_RANGE
获得VALUE_RANGE_MAX_INCLUSIVE
,并使用VALUE_RANGE_MIN_INCLUSIVE
获得VALUE_RANGE_MIN_MAX_INCLUSIVE
。static int
VALUE_RANGE_MIN_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示属性或用户对象可以设置为值范围。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
返回的getAttributeValueType
,表示可以为属性或用户对象设置值范围。
-
方法摘要
所有方法 实例方法 抽象方法 变量和类型 方法 描述 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
的数组,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
的数组,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
元素CHILD_POLICY_REPEAT
。int
getObjectArrayMaxLength(String elementName)
返回可用于在命名元素中定义Object
引用的最大数组元素数。int
getObjectArrayMinLength(String elementName)
返回可用于在指定元素中定义Object
引用的最小数组元素数。类<?>
getObjectClass(String elementName)
返回元素中存储的Object
引用的类
类型。Object
getObjectDefaultValue(String elementName)
返回Object
s,其中包含指定元素中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
引用允许的值的类型(枚举,范围或数组)。String
getRootName()
返回格式的根元素的名称。boolean
isAttributeRequired(String elementName, String attrName)
如果命名属性必须存在于指定元素中,则返回true
。
-
-
-
字段详细信息
-
CHILD_POLICY_EMPTY
static final int CHILD_POLICY_EMPTY
由getChildPolicy
返回的getChildPolicy
,表示元素可能没有任何子元素。 换句话说,它需要是叶节点。- 另请参见:
- 常数字段值
-
CHILD_POLICY_ALL
static final int CHILD_POLICY_ALL
getChildPolicy
返回的getChildPolicy
,表示元素必须按getChildPolicy
具有每个合法子元素的单个实例。 在DTD术语中,元素的内容由序列a,b,c,d,...
定义。- 另请参见:
- 常数字段值
-
CHILD_POLICY_SOME
static final int CHILD_POLICY_SOME
getChildPolicy
返回的getChildPolicy
用于指示元素必须按顺序包含其每个合法子元素的零个或一个实例。 在DTD术语中,元素的内容由序列a?,b?,c?,d?,...
定义。- 另请参见:
- 常数字段值
-
CHILD_POLICY_CHOICE
static final int CHILD_POLICY_CHOICE
由getChildPolicy
返回的getChildPolicy
,指示元素必须具有从其合法子元素中选择的零个或一个子元素。 在DTD术语中,元素的内容由选择a|b|c|d|...
定义。- 另请参见:
- 常数字段值
-
CHILD_POLICY_SEQUENCE
static final int CHILD_POLICY_SEQUENCE
由getChildPolicy
返回的getChildPolicy
,表示元素必须具有任何合法子元素的实例序列。 在DTD术语中,元素的内容由序列(a|b|c|d|...)*
定义。- 另请参见:
- 常数字段值
-
CHILD_POLICY_REPEAT
static final int CHILD_POLICY_REPEAT
由getChildPolicy
返回的getChildPolicy
,表示元素必须具有其唯一合法子元素的零个或多个实例。 在DTD术语中,元素的内容由星号表达式a*
定义。- 另请参见:
- 常数字段值
-
CHILD_POLICY_MAX
static final int CHILD_POLICY_MAX
最大有效值CHILD_POLICY_*
常量,用于范围检查。- 另请参见:
- 常数字段值
-
VALUE_NONE
static final int VALUE_NONE
由getObjectValueType
返回的getObjectValueType
,表示缺少用户对象。- 另请参见:
- 常数字段值
-
VALUE_ARBITRARY
static final int VALUE_ARBITRARY
getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示属性或用户对象可以设置为单个任意值。- 另请参见:
- 常数字段值
-
VALUE_RANGE
static final int VALUE_RANGE
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,指示可以为属性或用户对象设置值范围。 范围的最小值和最大值都是独占的。 建议两端都包含整数范围,并且该排除范围仅用于浮点数据。- 另请参见:
-
VALUE_RANGE_MIN_MAX_INCLUSIVE
, 常数字段值
-
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
。类似地,该值可以用值
getAttributeValueType
或getObjectValueType
来确定,以确定该范围的最小值是否包括在内。- 另请参见:
- 常数字段值
-
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
来确定,以确定该范围的最大值是否包括在内。- 另请参见:
- 常数字段值
-
VALUE_RANGE_MIN_INCLUSIVE
static final int VALUE_RANGE_MIN_INCLUSIVE
getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示属性或用户对象可以设置为值范围。 范围的最小值(但不是最大值)包括在内。- 另请参见:
- 常数字段值
-
VALUE_RANGE_MAX_INCLUSIVE
static final int VALUE_RANGE_MAX_INCLUSIVE
getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,指示属性或用户对象可以设置为值范围。 范围的最大值(但不是最小值)包括在内。- 另请参见:
- 常数字段值
-
VALUE_RANGE_MIN_MAX_INCLUSIVE
static final int VALUE_RANGE_MIN_MAX_INCLUSIVE
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示可以为属性或用户对象设置值范围。 该范围的最小值和最大值都包括在内。 建议两端都包含整数范围,并且该排除范围仅用于浮点数据。- 另请参见:
- 常数字段值
-
VALUE_ENUMERATION
static final int VALUE_ENUMERATION
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,指示属性或用户对象可以设置多个枚举值之一。 在属性的情况下,这些值是String
s; 对于对象,它们是实现给定类或接口的Object
。类型
DATATYPE_BOOLEAN
属性值应标记为枚举。- 另请参见:
- 常数字段值
-
VALUE_LIST
static final int VALUE_LIST
由getAttributeValueType
和getObjectValueType
返回的getAttributeValueType
,表示可以将属性或用户对象设置为值列表或数组。 在属性的情况下,列表将由String
内的空格分隔值String
; 对于对象,将使用数组。- 另请参见:
- 常数字段值
-
DATATYPE_STRING
static final int DATATYPE_STRING
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是常规Unicode字符串。- 另请参见:
- 常数字段值
-
DATATYPE_BOOLEAN
static final int DATATYPE_BOOLEAN
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是布尔值'true'或'false'之一。 类型为DATATYPE_BOOLEAN的属性值应标记为枚举,并且允许的值应为字符串文字值“TRUE”或“FALSE”,尽管插件也可识别较低或混合大小写等效项。- 另请参见:
- 常数字段值
-
DATATYPE_INTEGER
static final int DATATYPE_INTEGER
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是整数的字符串表示形式。- 另请参见:
- 常数字段值
-
DATATYPE_FLOAT
static final int DATATYPE_FLOAT
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是十进制浮点数的字符串表示形式。- 另请参见:
- 常数字段值
-
DATATYPE_DOUBLE
static final int DATATYPE_DOUBLE
由getAttributeDataType
返回的getAttributeDataType
指示属性的值是双精度十进制浮点数的字符串表示形式。- 另请参见:
- 常数字段值
-
-
方法详细信息
-
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
元素CHILD_POLICY_REPEAT
。 例如,表示颜色主要信息的元素可能需要至少有3个子节点,每个主节点对应一个子节点。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
int
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或者不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果指定的元素没有子策略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
- 如果指定的元素没有子策略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
的数组,指示允许作为命名元素的子元素的元素的名称,String
显示顺序排列。 如果元素不能有子元素,则返回null
。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
String
的数组,或null。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或者不是此格式的合法元素名称。
-
getAttributeNames
String[] getAttributeNames(String elementName)
返回一个String
的数组,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
,则合法值是返回数据类型的值的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
- 要查询的属性的名称。 - 结果
-
a
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
引用允许的值的类型(枚举,范围或数组)。 如果在给定元素中不能存储任何对象值,则此方法的结果将为VALUE_NONE
。Object
将其合法值定义为范围的引用必须实现Comparable
接口。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
VALUE_*
常量之一。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
或者不是此格式的合法元素名称。 - 另请参见:
-
Comparable
-
getObjectClass
类<?> getObjectClass(String elementName)
返回元素中存储的Object
引用的类
类型。 如果此元素可能不包含Object
引用,则将引发IllegalArgumentException
。 如果类类型是数组,则此字段指示基础类类型( 例如 ,对于int
的数组,此方法将返回int.class
)。Object
将其合法值定义为范围的引用必须实现Comparable
接口。- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
类
对象。 - 异常
-
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
不是数组。
-
-