- 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 StringstandardMetadataFormatName包含标准格式名称的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 voidaddAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)将新属性添加到先前定义的元素,该元素将由值列表定义。protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)将新属性添加到先前定义的元素,该元素可以设置为任意值。protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)将新属性添加到先前定义的元素,该元素将由一系列值定义。protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)将新属性添加到先前定义的元素,该元素将由一组枚举值定义。protected voidaddBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)将新属性添加到先前定义的元素,该元素将由枚举值TRUE和FALSE,数据类型为DATATYPE_BOOLEAN。protected voidaddChildElement(String elementName, String parentName)将现有元素添加到给定父节点类型的合法子节点列表中。protected voidaddElement(String elementName, String parentName, int childPolicy)使用CHILD_POLICY_REPEAT以外的子策略向此元数据文档格式添加新元素类型。protected voidaddElement(String elementName, String parentName, int minChildren, int maxChildren)使用子策略CHILD_POLICY_REPEAT将新元素类型添加到此元数据文档格式。protected voidaddObjectValue(String elementName, 类<?> classType, int arrayMinLength, int arrayMaxLength)允许Object定类类型的Object引用存储在实现指定元素的节点中。protected <T> voidaddObjectValue(String elementName, 类<T> classType, boolean required, T defaultValue)允许Object定类类型的Object引用存储在实现指定元素的节点中。protected <T> voidaddObjectValue(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引用存储在实现指定元素的节点中。StringgetAttributeDescription(String elementName, String attrName, Locale locale)返回String含有指定属性,或的描述null。StringgetElementDescription(String elementName, Locale locale)返回String含有指定元素,或的描述null。protected StringgetResourceBaseName()返回当前设置的基本名称,用于查找ResourceBundle。static IIOMetadataFormatgetStandardFormatInstance()返回IIOMetadataFormat对象,该对象描述javax.imageio.metadata程序包注释中描述的标准插件中性javax.imageio_1.0元数据文档格式。protected voidremoveAttribute(String elementName, String attrName)从先前定义的元素中删除属性。protected voidremoveElement(String elementName)从格式中删除元素。protected voidremoveObjectValue(String elementName)禁止将Object引用存储在实现指定元素的节点中。protected voidsetResourceBaseName(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-ListofStrings包含属性的合法值。 - 异常
-
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-ListofObjects包含对象引用的合法值。 - 异常
-
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实例。
-
-