- java.lang.Object
-
- javax.imageio.metadata.IIOMetadataFormatImpl
-
- 实现的所有接口
-
IIOMetadataFormat
public abstract class IIOMetadataFormatImpl extends Object implements IIOMetadataFormat
一个具体类,提供IIOMetadataFormat
接口的可重用实现。 此外,getStandardFormatInstance
方法提供了表示标准插件中性javax_imageio_1.0
格式的静态实例。为了提供元素和属性的局部描述,一个
ResourceBundle
用的基本名称this.getClass().getName() + "Resources"
应通过所使用的通常的机构供给ResourceBundle.getBundle
。 简而言之,子类格根据命名约定提供一个或多个附加类(默认情况下,扩展IIMetadataFormatImpl
的子类的完全限定名称,加上字符串“Resources”,加上由下划线分隔的国家,语言和变体代码) 。 在运行时,对getElementDescription
或getAttributeDescription
调用将尝试根据提供的语言环境动态加载此类,并将使用元素名称或元素名称后跟“/”字符,后跟属性名称作为键。 此密钥将提供给ResourceBundle
的getString
方法,并返回节点或属性的结果本地化描述。子类可以使用
setResourceBaseName
方法为资源包提供不同的基本名称。如果需要,子类可以通过覆盖
getElementDescription
和getAttributeDescription
的提供实现来选择其自己的本地化机制。
-
-
字段汇总
字段 变量和类型 字段 描述 static String
standardMetadataFormatName
包含标准格式名称的String
常量,"javax_imageio_1.0"
。-
Fields declared in 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
-
-
构造方法摘要
构造方法 构造器 描述 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, 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, 类<?> classType, int arrayMinLength, int arrayMaxLength)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。protected <T> void
addObjectValue(String elementName, 类<T> classType, boolean required, T defaultValue)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。protected <T> void
addObjectValue(String elementName, 类<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。protected <T extends Object & Comparable<? super T>>
voidaddObjectValue(String elementName, 类<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。String
getAttributeDescription(String elementName, String attrName, Locale locale)
返回String
含有指定属性,或的描述null
。String
getElementDescription(String elementName, Locale locale)
返回String
含有指定元素,或的描述null
。protected String
getResourceBaseName()
返回当前设置的基本名称,用于查找ResourceBundle
。static IIOMetadataFormat
getStandardFormatInstance()
返回IIOMetadataFormat
对象,该对象描述javax.imageio.metadata
程序包注释中描述的标准插件中性javax.imageio_1.0
元数据文档格式。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
-
声明方法的接口 javax.imageio.metadata.IIOMetadataFormat
canNodeAppear, getAttributeDataType, getAttributeDefaultValue, getAttributeEnumerations, getAttributeListMaxLength, getAttributeListMinLength, getAttributeMaxValue, getAttributeMinValue, getAttributeNames, getAttributeValueType, getChildNames, getChildPolicy, getElementMaxChildren, getElementMinChildren, getObjectArrayMaxLength, getObjectArrayMinLength, getObjectClass, getObjectDefaultValue, getObjectEnumerations, getObjectMaxValue, getObjectMinValue, getObjectValueType, getRootName, isAttributeRequired
-
-
-
-
构造方法详细信息
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int childPolicy)
构造一个空白的IIOMetadataFormatImpl
实例,其中包含给定的根元素名称和子策略(CHILD_POLICY_REPEAT
)。 可以使用各种add
方法添加附加元素及其属性和Object
参考信息。- 参数
-
rootName
- 根元素的名称。 -
childPolicy
- 除CHILD_POLICY_REPEAT
之外的CHILD_POLICY_*
常量CHILD_POLICY_REPEAT
。 - 异常
-
IllegalArgumentException
- 如果rootName
是null
。 -
IllegalArgumentException
- 如果childPolicy
不是预定义常量之一。
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
构造一个空白的IIOMetadataFormatImpl
实例,其中包含给定的根元素名称和子策略CHILD_POLICY_REPEAT
。 可以使用各种add
方法添加附加元素及其属性和Object
参考信息。- 参数
-
rootName
- 根元素的名称。 -
minChildren
- 节点的最minChildren
节点数。 -
maxChildren
- 节点的最大子节点数。 - 异常
-
IllegalArgumentException
- 如果rootName
是null
。 -
IllegalArgumentException
- 如果minChildren
为负数或大于maxChildren
。
-
-
方法详细信息
-
setResourceBaseName
protected void setResourceBaseName(String resourceBaseName)
设置新的基本名称以查找ResourceBundle
其中包含此格式的元素和属性的描述。在第一次调用此方法之前,基本名称将等于
this.getClass().getName() + "Resources"
。- 参数
-
resourceBaseName
- 包含新基本名称的String
。 - 异常
-
IllegalArgumentException
- 如果resourceBaseName
是null
。 - 另请参见:
-
getResourceBaseName()
-
getResourceBaseName
protected String getResourceBaseName()
返回当前设置的基本名称,用于查找ResourceBundle
。- 结果
-
String
包含基本名称。 - 另请参见:
-
setResourceBaseName(java.lang.String)
-
addElement
protected void addElement(String elementName, String parentName, int childPolicy)
使用CHILD_POLICY_REPEAT
以外的子策略向此元数据文档格式添加新元素类型。- 参数
-
elementName
- 新元素的名称。 -
parentName
- 将成为新元素父级的元素的名称。 -
childPolicy
- 除CHILD_POLICY_REPEAT
之外的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
-List
ofString
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
。 -
minInclusive
-true
如果minValue
是包含的。 -
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
,则忽略该值。 - 异常
-
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, 类<T> classType, boolean required, T defaultValue)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。 除了类类型之外,Object
的值不受约束。如果先前允许使用
Object
引用,则会覆盖先前的设置。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个类
变量,指示对象值的合法类类型。 -
required
-true
如果必须存在对象值。 -
defaultValue
-Object
引用的默认值,或null
。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。
-
addObjectValue
protected <T> void addObjectValue(String elementName, 类<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。Object
的值必须是enumeratedValues
给出的值enumeratedValues
。如果先前允许使用
Object
引用,则会覆盖先前的设置。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个类
变量,指示对象值的合法类类型。 -
required
-true
如果必须存在对象值。 -
defaultValue
-Object
参考的默认值,或null
。 -
enumeratedValues
-List
ofObject
s包含对象引用的合法值。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。 -
IllegalArgumentException
- 如果enumeratedValues
是null
。 -
IllegalArgumentException
- 如果enumeratedValues
不包含至少一个条目。 -
IllegalArgumentException
- 如果enumeratedValues
包含的元素不是由classType
表示的类类型的实例,或者是null
。
-
addObjectValue
protected <T extends Object & Comparable<? super T>> void addObjectValue(String elementName, 类<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。Object
的值必须在minValue
和maxValue
给出的范围内。 此外,类类型必须实现Comparable
接口。如果先前允许使用
Object
引用,则会覆盖先前的设置。- 参数类型
-
T
- 对象的类型。 - 参数
-
elementName
- 元素的名称。 -
classType
- 一个类
变量,指示对象值的合法类类型。 -
defaultValue
- 的默认值 -
minValue
- 对象值的最小(包含或排除取决于值minInclusive
)合法值,如String
。 -
maxValue
- 最大(包含或排除取决于值minInclusive
)对象值的合法值,如String
。 -
minInclusive
-true
如果minValue
是包含的。 -
maxInclusive
-true
如果maxValue
包含在内。 - 异常
-
IllegalArgumentException
- 如果elementName
是null
,或者不是此格式的合法元素名称。
-
addObjectValue
protected void addObjectValue(String elementName, 类<?> classType, int arrayMinLength, int arrayMaxLength)
允许Object
定类类型的Object
引用存储在实现指定元素的节点中。Object
的值必须是由classType
给出的类类型的对象数组,至少包含arrayMinLength
和最多arrayMaxLength
元素。如果先前允许使用
Object
引用,则会覆盖先前的设置。- 参数
-
elementName
- 元素的名称。 -
classType
- 一个类
变量,指示对象值的合法类类型。 -
arrayMinLength
- 数组的最小合法长度。 -
arrayMaxLength
- 数组的最大合法长度。 - 异常
-
IllegalArgumentException
- 如果elementName
不是此格式的合法元素名称。
-
removeObjectValue
protected void removeObjectValue(String elementName)
禁止将Object
引用存储在实现指定元素的节点中。- 参数
-
elementName
- 元素的名称。 - 异常
-
IllegalArgumentException
- 如果elementName
不是此格式的合法元素名称。
-
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)
-
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)
-
getStandardFormatInstance
public static IIOMetadataFormat getStandardFormatInstance()
返回IIOMetadataFormat
对象,该对象描述javax.imageio.metadata
程序包注释中描述的标准插件中性javax.imageio_1.0
元数据文档格式。- 结果
-
预定义的
IIOMetadataFormat
实例。
-
-