- java.lang.Object
-
- javax.imageio.metadata.IIOMetadataFormatImpl
-
- All Implemented Interfaces:
-
IIOMetadataFormat
public abstract class IIOMetadataFormatImpl extends Object implements IIOMetadataFormat
一个具体的类,提供可重用的IIOMetadataFormat
接口的实现。 另外,表示标准的静态实例,插件中性javax_imageio_1.0
格式由getStandardFormatInstance
方法提供。为了提供元素和属性的局部描述,一个
ResourceBundle
用的基本名称this.getClass().getName() + "Resources"
应通过所使用的通常的机构供给ResourceBundle.getBundle
。 简而言之,子类根据命名约定提供一个或多个附加类(默认情况下,扩展为IIMetadataFormatImpl
的子类的完全限定名称,加上字符串“资源”,以及以下划线分隔的国家/地区,语言和变体代码) 。 在运行时,调用getElementDescription
或getAttributeDescription
将尝试根据提供的区域设置动态加载这些类,并将使用元素名称或元素名称后跟一个'/'字符,后跟属性名称作为键。 该密钥将提供给ResourceBundle
的getString
方法,并返回所得到的节点或属性的本地化描述。子类可以使用
setResourceBaseName
方法为资源束提供不同的基本名称。如果需要,一个子类可以选择自己的定位机制,覆盖所提供的
getElementDescription
和getAttributeDescription
。
-
-
Field Summary
Fields Modifier and Type Field 描述 static String
standardMetadataFormatName
AString
常量包含标准格式名称,"javax_imageio_1.0"
。-
Fields inherited from interface 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
-
-
构造方法摘要
构造方法 Constructor 描述 IIOMetadataFormatImpl(String rootName, int childPolicy)
构造一个空白的IIOMetadataFormatImpl
实例,具有给定的根元素名称和子策略(CHILD_POLICY_REPEAT
)。IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
构造一个空白的IIOMetadataFormatImpl
实例,给定的根元素名称和子策略为CHILD_POLICY_REPEAT
。
-
方法摘要
所有方法 静态方法 接口方法 抽象方法 具体的方法 Modifier and Type 方法 描述 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, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)
向先前定义的元素添加一个新属性,该元素将由一系列值定义。protected void
addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)
向先前定义的元素添加一个新属性,该元素将由一组枚举值定义。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 <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
定类类型的Object
引用存储在实现命名元素的节点中。protected <T extends Object & Comparable<? super T>>
voidaddObjectValue(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)
如果true
元素(及其下面的子树)被允许出现在由ImageTypeSpecifier
定义的给定类型的图像的元数据文档中,则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
s的数组,表示允许作为命名元素的子元素的元素的名称,按照它们应该出现的顺序。int
getChildPolicy(String elementName)
返回从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)
返回Class
类型的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
引用允许的值(枚举,范围或数组)的Object
。protected String
getResourceBaseName()
返回当前设置的基本名称,以查找ResourceBundle
s。String
getRootName()
返回格式的根元素的名称。static IIOMetadataFormat
getStandardFormatInstance()
返回描述javax.imageio.metadata
包的注释中描述的标准,插件中性javax.imageio_1.0
元数据文档格式的IIOMetadataFormat
对象。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
s,其中包含此格式的元素和属性说明。
-
-
-
字段详细信息
-
standardMetadataFormatName
public static final String standardMetadataFormatName
AString
常量包含标准格式名称,"javax_imageio_1.0"
。- 另请参见:
- Constant Field Values
-
-
构造方法详细信息
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int childPolicy)
构造一个空白的IIOMetadataFormatImpl
实例,具有给定的根元素名称和子策略(CHILD_POLICY_REPEAT
)。 附加元素及其属性和Object
参考信息可以使用各种add
方法添加。- 参数
-
rootName
- 根元素的名称。 -
childPolicy
-CHILD_POLICY_*
常数之一,不包括CHILD_POLICY_REPEAT
。 - 异常
-
IllegalArgumentException
- 如果rootName
是null
。 -
IllegalArgumentException
- 如果childPolicy
不是预定义的常量之一。
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
构造一个空白的IIOMetadataFormatImpl
实例,给定的根元素名称和子策略为CHILD_POLICY_REPEAT
。 附加元素及其属性和Object
参考信息可以使用各种add
方法添加。- 参数
-
rootName
- 根元素的名称。 -
minChildren
- 节点的最minChildren
数。 -
maxChildren
- 节点的最大子节点数。 - 异常
-
IllegalArgumentException
- 如果rootName
是null
。 -
IllegalArgumentException
- 如果minChildren
为负数或大于maxChildren
。
-
-
方法详细信息
-
setResourceBaseName
protected void setResourceBaseName(String resourceBaseName)
设置一个新的基本名称来定位ResourceBundle
s,其中包含此格式的元素和属性的描述。在第一次调用此方法之前,基本名称将等于
this.getClass().getName() + "Resources"
。- 参数
-
resourceBaseName
- 一个包含新基本名称的String
。 - 异常
-
IllegalArgumentException
- 如果resourceBaseName
是null
。 - 另请参见:
-
getResourceBaseName()
-
getResourceBaseName
protected String getResourceBaseName()
返回当前设置的基本名称,以查找ResourceBundle
s。- 结果
-
一个包含基本名称的
String
。 - 另请参见:
-
setResourceBaseName(java.lang.String)
-
addElement
protected void addElement(String elementName, String parentName, int childPolicy)
使用CHILD_POLICY_REPEAT
以外的子策略向此元数据文档格式添加新元素类型。- 参数
-
elementName
- 新元素的名称。 -
parentName
- 将作为新元素的父元素的元素的名称。 -
childPolicy
-CHILD_POLICY_*
常量之一,不包括CHILD_POLICY_REPEAT
,表示新元素的子策略。 - 异常
-
IllegalArgumentException
- 如果parentName
为null
,或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果childPolicy
不是预定义的常量之一。
-
addElement
protected void addElement(String elementName, String parentName, int minChildren, int maxChildren)
将新元素类型添加到此元数据文档格式,子策略为CHILD_POLICY_REPEAT
。- 参数
-
elementName
- 新元素的名称。 -
parentName
- 将作为新元素的父元素的元素的名称。 -
minChildren
- 节点的最minChildren
节点数。 -
maxChildren
- 节点的最大子节点数。 - 异常
-
IllegalArgumentException
- 如果parentName
为null
,或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果minChildren
为负数或大于maxChildren
。
-
addChildElement
protected void addChildElement(String elementName, String parentName)
将一个现有元素添加到给定父节点类型的合法子节点列表中。- 参数
-
parentName
- 将作为元素的新父元素的元素的名称。 -
elementName
- 要作为子级添加的元素的名称。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果parentName
为null
,或不是此格式的合法元素名称。
-
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
- 如果elementName
为null
,或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
。 -
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
- aList
的String
s包含属性的合法值。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
。 -
IllegalArgumentException
- 如果dataType
不是预定义的常量之一。 -
IllegalArgumentException
- 如果enumeratedValues
是null
。 -
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
-minValue
的最小(包括或排除取决于值minInclusive
)合法值,为String
。 -
maxValue
-maxValue
的最大(包括或排除取决于minInclusive
的值)法定值,作为String
。 -
如果是
true
,minValue
minInclusive
-true
。 -
maxInclusive
-true
如果是maxValue
是包含的。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
。 -
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
- 如果elementName
为null
,或不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果attrName
是null
。 -
IllegalArgumentException
- 如果dataType
不是预定义的常量之一。 -
IllegalArgumentException
- 如果listMinLength
为负数或大于listMaxLength
。
-
addBooleanAttribute
protected void addBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)
向先前定义的元素添加一个新属性,该元素将由枚举值TRUE
和FALSE
,数据类型为DATATYPE_BOOLEAN
。- 参数
-
elementName
- 元素的名称。 -
attrName
- 要添加的属性的名称。 -
hasDefaultValue
-true
如果应该存在默认值。 -
defaultValue
- 属性的默认值为boolean
,如果hasDefaultValue
为false
,则忽略hasDefaultValue
值。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
,或不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
。
-
removeAttribute
protected void removeAttribute(String elementName, String attrName)
从先前定义的元素中删除一个属性。 如果给定元素中没有给定名称的属性,则不会发生任何事情,也不会抛出任何异常。- 参数
-
elementName
- 元素的名称。 -
attrName
- 要删除的属性的名称。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的法定元素名称。
-
addObjectValue
protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue)
允许Object
要被存储在实现指定元素的节点给定类型的参考。Object
的值不受其类型的约束。如果以前允许
Object
引用,以前的设置将被覆盖。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个Class
变量,指示对象值的合法类类型。 -
如果对象值必须存在,
required
-true
。 -
defaultValue
-Object
参考的默认值,或null
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。
-
addObjectValue
protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)
允许给定类类型的Object
引用存储在实现命名元素的节点中。Object
的值必须是enumeratedValues
给出的值enumeratedValues
。如果以前允许
Object
引用,则以前的设置将被覆盖。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个Class
变量,指示对象值的合法类类型。 -
required
-true
如果一个对象值必须存在。 -
defaultValue
-Object
参考的默认值,或null
。 -
enumeratedValues
- 一个List
的Object
其中包含对象引用的合法值。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的法定元素名称。 -
IllegalArgumentException
- 如果enumeratedValues
是null
。 -
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
的值必须在minValue
和maxValue
给出的范围内。 此外,类类型必须实现Comparable
接口。如果以前允许
Object
引用,则以前的设置将被覆盖。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个Class
变量,指示对象值的合法类类型。 -
defaultValue
- 的默认值 -
minValue
- 最小(包括或排除取决于minInclusive
的值)对象值的合法值,作为String
。 -
maxValue
- 最大(包括或排除取决于minInclusive
的值)对象值的合法值,作为String
。 -
minInclusive
-true
如果是minValue
)。 -
maxInclusive
-true
如果maxValue
是包容。 - 异常
-
IllegalArgumentException
- 如果elementName
为null
,或不是此格式的合法元素名称。
-
addObjectValue
protected void addObjectValue(String elementName, Class<?> classType, int arrayMinLength, int arrayMaxLength)
允许Object
要被存储在实现指定元素的节点给定类型的参考。Object
的值必须由classType
给出的类类型的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
复制返回格式的根元素的名称。- Specified by:
-
getRootName
在接口IIOMetadataFormat
- 结果
-
一个
String
。
-
canNodeAppear
public abstract boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType)
描述从接口IIOMetadataFormat
复制如果允许元素true
的元素(及其下面的子树)显示给由ImageTypeSpecifier
定义的给定类型的图像,则ImageTypeSpecifier
。 例如,元数据文档格式可能包含描述图像基本颜色的元素,这在编写灰度图像时不允许。- Specified by:
-
canNodeAppear
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
imageType
- 表示将与元数据相关联的图像类型的ImageTypeSpecifier
。 - 结果
-
true
如果节点对于给定类型的图像是有意义的。
-
getElementMinChildren
public int getElementMinChildren(String elementName)
描述从接口IIOMetadataFormat
复制返回具有子策略CHILD_POLICY_REPEAT
的命名元素的最CHILD_POLICY_REPEAT
。 例如,表示颜色主要信息的元素可能需要至少有3个小孩,每个小学一个。- Specified by:
-
getElementMinChildren
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
int
。
-
getElementMaxChildren
public int getElementMaxChildren(String elementName)
描述从接口IIOMetadataFormat
复制返回具有子策略CHILD_POLICY_REPEAT
的命名元素的最大子CHILD_POLICY_REPEAT
。 例如,可以允许在8位调色板中表示条目的元素重复多达256次。 可以使用值Integer.MAX_VALUE
来指定没有上限。- Specified by:
-
getElementMaxChildren
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
int
。
-
getElementDescription
public String getElementDescription(String elementName, Locale locale)
返回String
含有指定元素,或的描述null
。 如果可能,说明将被本地化为所提供的Locale
。默认的实现会首先找到一个
ResourceBundle
利用当前资源基本名称由设置setResourceBaseName
和供应Locale
,使用中的注释中描述的应变机制ResourceBundle.getBundle
。 如果找到一个ResourceBundle
,则元素名称将用作其getString
方法的键,并返回结果。 如果没有找到ResourceBundle
,或者没有这样的密钥,null
将被退回。如果
locale
为null
,当前的默认Locale
由归国Locale.getLocale
将被使用。- Specified by:
-
getElementDescription
在接口IIOMetadataFormat
- 参数
-
elementName
- 元素的名称。 -
locale
- 将尝试本地化的Locale
。 - 结果
- 元素描述。
- 异常
-
IllegalArgumentException
- 如果elementName
为null
,或不是此格式的合法元素名称。 - 另请参见:
-
setResourceBaseName(java.lang.String)
-
getChildPolicy
public int getChildPolicy(String elementName)
描述从界面IIOMetadataFormat
复制返回从CHILD_POLICY_
开始的常量CHILD_POLICY_
,指示命名元素的子代的合法模式。- Specified by:
-
getChildPolicy
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
其中一个
CHILD_POLICY_*
常量。
-
getChildNames
public String[] getChildNames(String elementName)
说明从接口IIOMetadataFormat
复制返回一个String
s的数组,表示允许作为命名元素的子元素的元素的名称,按照它们应该出现的顺序。 如果该元素不能有子项,则返回null
。- Specified by:
-
getChildNames
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个数组为
String
s,或为null。
-
getAttributeNames
public String[] getAttributeNames(String elementName)
说明从接口IIOMetadataFormat
复制返回一个String
的数组,列出可能与命名元素相关联的属性的名称。- Specified by:
-
getAttributeNames
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
String
的阵列。
-
getAttributeValueType
public int getAttributeValueType(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制返回以VALUE_
开头的常量VALUE_
,指示指定元素中给定属性的值是否是任意的,被限制在指定范围内,被限制为一组枚举值之一,或者是空格分隔的列表的任意值。- Specified by:
-
getAttributeValueType
接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
其中一个
VALUE_*
常数。
-
getAttributeDataType
public int getAttributeDataType(String elementName, String attrName)
描述从接口IIOMetadataFormat
复制返回以DATATYPE_
开头的常量DATATYPE_
,表示指定元素中给定属性的值的格式和解释。 如果getAttributeValueType
返回VALUE_LIST
,则合法值是返回数据类型的值的空白列表。- Specified by:
-
getAttributeDataType
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
其中一个
DATATYPE_*
常量。
-
isAttributeRequired
public boolean isAttributeRequired(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制如果命名的属性必须在命名的元素中,则返回true
。- Specified by:
-
isAttributeRequired
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
true
如果属性必须存在。
-
getAttributeDefaultValue
public String getAttributeDefaultValue(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制如果没有默认值可用,则返回命名属性的默认值(如果它未显式存在于命名元素中),String
,或null
。- Specified by:
-
getAttributeDefaultValue
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含默认值,或null
。
-
getAttributeEnumerations
public String[] getAttributeEnumerations(String elementName, String attrName)
描述从接口IIOMetadataFormat
复制返回一个包含指定元素中给定属性的合法枚举值的数组String
。 此方法只能在getAttributeValueType
返回VALUE_ENUMERATION
被调用。- Specified by:
-
getAttributeEnumerations
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
的阵列。
-
getAttributeMinValue
public String getAttributeMinValue(String elementName, String attrName)
描述从接口IIOMetadataFormat
复制返回属性的最小合法值。 该值是否包含或排除可以由值getAttributeValueType
确定。 该值返回为String
; 其解释取决于getAttributeDataType
的价值。 该方法只能在getAttributeValueType
返回VALUE_RANGE_*
。- Specified by:
-
getAttributeMinValue
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含该属性的最小合法值。
-
getAttributeMaxValue
public String getAttributeMaxValue(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制返回属性的最大合法值。 该值是否包含或排除可以由值getAttributeValueType
确定。 该值返回为String
; 其解释取决于getAttributeDataType
的值。 仅当getAttributeValueType
返回VALUE_RANGE_*
才应该调用此方法。- Specified by:
-
getAttributeMaxValue
接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称,作为String
。 -
attrName
- 要查询的属性的名称。 - 结果
-
一个
String
包含该属性的最大合法值。
-
getAttributeListMinLength
public int getAttributeListMinLength(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制返回可用于定义此属性的列表项的最小数量。 属性本身定义为包含多个空格分隔的项目的String
。 仅当getAttributeValueType
返回VALUE_LIST
才应该调用此方法。- Specified by:
-
getAttributeListMinLength
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
- 属性的列表项的最小合法数量。
-
getAttributeListMaxLength
public int getAttributeListMaxLength(String elementName, String attrName)
说明从接口IIOMetadataFormat
复制返回可用于定义此属性的列表项的最大数量。 可以使用值Integer.MAX_VALUE
来指定没有上限。 属性本身定义为包含多个空格分隔的项目的String
。 该方法只能在getAttributeValueType
返回VALUE_LIST
被调用。- Specified by:
-
getAttributeListMaxLength
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 -
attrName
- 要查询的属性的名称。 - 结果
- 属性的列表项的最大合法数量。
-
getAttributeDescription
public String getAttributeDescription(String elementName, String attrName, Locale locale)
返回一个String
其中包含命名属性的描述,或null
。 如果可能,说明将被本地化为所提供的Locale
。默认的实现会首先找到一个
ResourceBundle
利用当前资源基本名称由设置setResourceBaseName
和供应Locale
,使用中的注释中描述的应变机制ResourceBundle.getBundle
。 如果找到一个ResourceBundle
,那么元素名称后跟一个“/”字符后跟属性名称(elementName + "/" + attrName
)将被用作其getString
方法的键,并返回结果。 如果没有找到ResourceBundle
,或者没有这样的密钥,null
将被退回。如果
locale
为null
,当前的默认Locale
由归国Locale.getLocale
将被使用。- Specified by:
-
getAttributeDescription
在接口IIOMetadataFormat
- 参数
-
elementName
- 元素的名称。 -
attrName
- 属性的名称。 -
locale
- 将尝试本地化的Locale
,或null
。 - 结果
- 属性描述。
- 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果attrName
是null
或不是此元素的合法属性名称。 - 另请参见:
-
setResourceBaseName(java.lang.String)
-
getObjectValueType
public int getObjectValueType(String elementName)
说明从接口IIOMetadataFormat
复制返回以VALUE_
开头的枚举值VALUE_
,指示Object
引用允许的值(枚举,范围或数组)的Object
。 如果给定元素中没有存储对象值,则该方法的结果将为VALUE_NONE
。Object
引用的法定值定义为范围必须实现Comparable
接口。- Specified by:
-
getObjectValueType
接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
其中一个
VALUE_*
常量。 - 另请参见:
-
Comparable
-
getObjectClass
public Class<?> getObjectClass(String elementName)
描述从接口IIOMetadataFormat
复制返回Class
类型的Object
存储在元素中引用。 如果此元素可能不包含Object
引用,则将抛出IllegalArgumentException
。 如果类类型是数组,则该字段指示底层类型( 例如 ,对于int
的数组,此方法将返回int.class
)。Object
引用的法定值定义为范围必须实现Comparable
接口。- Specified by:
-
getObjectClass
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Class
对象。
-
getObjectDefaultValue
public Object getObjectDefaultValue(String elementName)
说明从界面:IIOMetadataFormat
复制返回一个Object
其中包含命名元素中的Object
引用的默认值。- Specified by:
-
getObjectDefaultValue
接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Object
。
-
getObjectEnumerations
public Object[] getObjectEnumerations(String elementName)
说明从接口IIOMetadataFormat
复制返回一个Object
的数组,Object
包含命名元素中的Object
引用的合法枚举值。 该方法只能在getObjectValueType
返回VALUE_ENUMERATION
。与接受枚举值的节点相关联的
Object
必须等于由==
运算符定义的此方法返回的值之一(与Object.equals
方法相反)。- Specified by:
-
getObjectEnumerations
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
一个
Object
的阵列。
-
getObjectMinValue
public Comparable<?> getObjectMinValue(String elementName)
说明从接口IIOMetadataFormat
复制返回指定元素中Object
引用的最小合法值。 该值是否包含或排除可以由值getObjectValueType
确定。 只有当getObjectValueType
返回以VALUE_RANGE
开头的常量之一时,才应该调用此方法。- Specified by:
-
getObjectMinValue
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
- 该属性的最小合法值。
-
getObjectMaxValue
public Comparable<?> getObjectMaxValue(String elementName)
描述从接口IIOMetadataFormat
复制返回指定元素中Object
引用的最大合法值。 该值是否包含或排除可由getObjectValueType
的值确定。 仅当getObjectValueType
返回以VALUE_RANGE
开头的常量之一时,才应该调用此方法。- Specified by:
-
getObjectMaxValue
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
- 该属性的最小合法值。
-
getObjectArrayMinLength
public int getObjectArrayMinLength(String elementName)
说明从界面IIOMetadataFormat
复制返回可用于定义指定元素中的Object
引用的最小数组元素数。 该方法只能在getObjectValueType
返回VALUE_LIST
。- Specified by:
-
getObjectArrayMinLength
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
Object
参考的最小有效数组长度。
-
getObjectArrayMaxLength
public int getObjectArrayMaxLength(String elementName)
描述从接口IIOMetadataFormat
复制返回可用于定义指定元素中的Object
引用的最大数组元素数。 可以使用Integer.MAX_VALUE
的值来指定没有上限。 该方法只能在getObjectValueType
返回VALUE_LIST
被调用。- Specified by:
-
getObjectArrayMaxLength
在接口IIOMetadataFormat
- 参数
-
elementName
- 要查询的元素的名称。 - 结果
-
Object
参考的最大有效数组长度。
-
getStandardFormatInstance
public static IIOMetadataFormat getStandardFormatInstance()
描述IIOMetadataFormat
对象,描述javax.imageio.metadata
包的注释中描述的标准,插件中性javax.imageio_1.0
元数据文档格式。- 结果
-
一个预定义的
IIOMetadataFormat
实例。
-
-