- java.lang.Object
-
- javax.imageio.metadata.IIOMetadataFormatImpl
-
- All Implemented Interfaces:
- IIOMetadataFormat
public abstract class IIOMetadataFormatImpl extends Object implements IIOMetadataFormat
A concrete class providing a reusable implementation of theIIOMetadataFormatinterface. In addition, a static instance representing the standard, plug-in neutraljavax_imageio_1.0format is provided by thegetStandardFormatInstancemethod.In order to supply localized descriptions of elements and attributes, a
ResourceBundlewith a base name ofthis.getClass().getName() + "Resources"should be supplied via the usual mechanism used byResourceBundle.getBundle. Briefly, the subclasser supplies one or more additional classes according to a naming convention (by default, the fully-qualified name of the subclass extendingIIMetadataFormatImpl, plus the string "Resources", plus the country, language, and variant codes separated by underscores). At run time, calls togetElementDescriptionorgetAttributeDescriptionwill attempt to load such classes dynamically according to the supplied locale, and will use either the element name, or the element name followed by a '/' character followed by the attribute name as a key. This key will be supplied to theResourceBundle'sgetStringmethod, and the resulting localized description of the node or attribute is returned.The subclass may supply a different base name for the resource bundles using the
setResourceBaseNamemethod.A subclass may choose its own localization mechanism, if so desired, by overriding the supplied implementations of
getElementDescriptionandgetAttributeDescription.
-
-
Field Summary
Fields Modifier and Type Field and Description static StringstandardMetadataFormatNameAStringconstant containing the standard format name,"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 Summary
Constructors Constructor and Description IIOMetadataFormatImpl(String rootName, int childPolicy)Constructs a blankIIOMetadataFormatImplinstance, with a given root element name and child policy (other thanCHILD_POLICY_REPEAT).IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)Constructs a blankIIOMetadataFormatImplinstance, with a given root element name and a child policy ofCHILD_POLICY_REPEAT.
-
Method Summary
Methods Modifier and Type Method and Description protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)Adds a new attribute to a previously defined element that will be defined by a list of values.protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)Adds a new attribute to a previously defined element that may be set to an arbitrary value.protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)Adds a new attribute to a previously defined element that will be defined by a set of enumerated values.protected voidaddAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)Adds a new attribute to a previously defined element that will be defined by a range of values.protected voidaddBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)Adds a new attribute to a previously defined element that will be defined by the enumerated valuesTRUEandFALSE, with a datatype ofDATATYPE_BOOLEAN.protected voidaddChildElement(String elementName, String parentName)Adds an existing element to the list of legal children for a given parent node type.protected voidaddElement(String elementName, String parentName, int childPolicy)Adds a new element type to this metadata document format with a child policy other thanCHILD_POLICY_REPEAT.protected voidaddElement(String elementName, String parentName, int minChildren, int maxChildren)Adds a new element type to this metadata document format with a child policy ofCHILD_POLICY_REPEAT.protected voidaddObjectValue(String elementName, Class<?> classType, int arrayMinLength, int arrayMaxLength)Allows anObjectreference of a given class type to be stored in nodes implementing the named element.protected <T> voidaddObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue)Allows anObjectreference of a given class type to be stored in nodes implementing the named element.protected <T> voidaddObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)Allows anObjectreference of a given class type to be stored in nodes implementing the named element.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)Allows anObjectreference of a given class type to be stored in nodes implementing the named element.abstract booleancanNodeAppear(String elementName, ImageTypeSpecifier imageType)Returnstrueif the element (and the subtree below it) is allowed to appear in a metadata document for an image of the given type, defined by anImageTypeSpecifier.intgetAttributeDataType(String elementName, String attrName)Returns one of the constants starting withDATATYPE_, indicating the format and interpretation of the value of the given attribute within th enamed element.StringgetAttributeDefaultValue(String elementName, String attrName)Returns the default value of the named attribute, if it is not explictly present within the named element, as aString, ornullif no default value is available.StringgetAttributeDescription(String elementName, String attrName, Locale locale)Returns aStringcontaining a description of the named attribute, ornull.String[]getAttributeEnumerations(String elementName, String attrName)Returns an array ofStrings containing the legal enumerated values for the given attribute within the named element.intgetAttributeListMaxLength(String elementName, String attrName)Returns the maximum number of list items that may be used to define this attribute.intgetAttributeListMinLength(String elementName, String attrName)Returns the minimum number of list items that may be used to define this attribute.StringgetAttributeMaxValue(String elementName, String attrName)Returns the maximum legal value for the attribute.StringgetAttributeMinValue(String elementName, String attrName)Returns the minimum legal value for the attribute.String[]getAttributeNames(String elementName)Returns an array ofStrings listing the names of the attributes that may be associated with the named element.intgetAttributeValueType(String elementName, String attrName)Returns one of the constants starting withVALUE_, indicating whether the values of the given attribute within the named element are arbitrary, constrained to lie within a specified range, constrained to be one of a set of enumerated values, or are a whitespace-separated list of arbitrary values.String[]getChildNames(String elementName)Returns an array ofStrings indicating the names of the element which are allowed to be children of the named element, in the order in which they should appear.intgetChildPolicy(String elementName)Returns one of the constants starting withCHILD_POLICY_, indicating the legal pattern of children for the named element.StringgetElementDescription(String elementName, Locale locale)Returns aStringcontaining a description of the named element, ornull.intgetElementMaxChildren(String elementName)Returns the maximum number of children of the named element with child policyCHILD_POLICY_REPEAT.intgetElementMinChildren(String elementName)Returns the minimum number of children of the named element with child policyCHILD_POLICY_REPEAT.intgetObjectArrayMaxLength(String elementName)Returns the maximum number of array elements that may be used to define theObjectreference within the named element.intgetObjectArrayMinLength(String elementName)Returns the minimum number of array elements that may be used to define theObjectreference within the named element.Class<?>getObjectClass(String elementName)Returns theClasstype of theObjectreference stored within the element.ObjectgetObjectDefaultValue(String elementName)Returns anObjects containing the default value for theObjectreference within the named element.Object[]getObjectEnumerations(String elementName)Returns an array ofObjects containing the legal enumerated values for theObjectreference within the named element.Comparable<?>getObjectMaxValue(String elementName)Returns the maximum legal value for theObjectreference within the named element.Comparable<?>getObjectMinValue(String elementName)Returns the minimum legal value for theObjectreference within the named element.intgetObjectValueType(String elementName)Returns one of the enumerated values starting withVALUE_, indicating the type of values (enumeration, range, or array) that are allowed for theObjectreference.protected StringgetResourceBaseName()Returns the currently set base name for locatingResourceBundles.StringgetRootName()Returns the name of the root element of the format.static IIOMetadataFormatgetStandardFormatInstance()Returns anIIOMetadataFormatobject describing the standard, plug-in neutraljavax.imageio_1.0metadata document format described in the comment of thejavax.imageio.metadatapackage.booleanisAttributeRequired(String elementName, String attrName)Returnstrueif the named attribute must be present within the named element.protected voidremoveAttribute(String elementName, String attrName)Removes an attribute from a previously defined element.protected voidremoveElement(String elementName)Removes an element from the format.protected voidremoveObjectValue(String elementName)Disallows anObjectreference from being stored in nodes implementing the named element.protected voidsetResourceBaseName(String resourceBaseName)Sets a new base name for locatingResourceBundles containing descriptions of elements and attributes for this format.
-
-
-
Field Detail
-
standardMetadataFormatName
public static final String standardMetadataFormatName
AStringconstant containing the standard format name,"javax_imageio_1.0".- See Also:
- Constant Field Values
-
-
Constructor Detail
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int childPolicy)
Constructs a blankIIOMetadataFormatImplinstance, with a given root element name and child policy (other thanCHILD_POLICY_REPEAT). Additional elements, and their attributes andObjectreference information may be added using the variousaddmethods.- Parameters:
rootName- the name of the root element.childPolicy- one of theCHILD_POLICY_*constants, other thanCHILD_POLICY_REPEAT.- Throws:
IllegalArgumentException- ifrootNameisnull.IllegalArgumentException- ifchildPolicyis not one of the predefined constants.
-
IIOMetadataFormatImpl
public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)
Constructs a blankIIOMetadataFormatImplinstance, with a given root element name and a child policy ofCHILD_POLICY_REPEAT. Additional elements, and their attributes andObjectreference information may be added using the variousaddmethods.- Parameters:
rootName- the name of the root element.minChildren- the minimum number of children of the node.maxChildren- the maximum number of children of the node.- Throws:
IllegalArgumentException- ifrootNameisnull.IllegalArgumentException- ifminChildrenis negative or larger thanmaxChildren.
-
-
Method Detail
-
setResourceBaseName
protected void setResourceBaseName(String resourceBaseName)
Sets a new base name for locatingResourceBundles containing descriptions of elements and attributes for this format.Prior to the first time this method is called, the base name will be equal to
this.getClass().getName() + "Resources".- Parameters:
resourceBaseName- aStringcontaing the new base name.- Throws:
IllegalArgumentException- ifresourceBaseNameisnull.- See Also:
getResourceBaseName()
-
getResourceBaseName
protected String getResourceBaseName()
Returns the currently set base name for locatingResourceBundles.- Returns:
- a
Stringcontaining the base name. - See Also:
setResourceBaseName(java.lang.String)
-
addElement
protected void addElement(String elementName, String parentName, int childPolicy)
Adds a new element type to this metadata document format with a child policy other thanCHILD_POLICY_REPEAT.- Parameters:
elementName- the name of the new element.parentName- the name of the element that will be the parent of the new element.childPolicy- one of theCHILD_POLICY_*constants, other thanCHILD_POLICY_REPEAT, indicating the child policy of the new element.- Throws:
IllegalArgumentException- ifparentNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifchildPolicyis not one of the predefined constants.
-
addElement
protected void addElement(String elementName, String parentName, int minChildren, int maxChildren)
Adds a new element type to this metadata document format with a child policy ofCHILD_POLICY_REPEAT.- Parameters:
elementName- the name of the new element.parentName- the name of the element that will be the parent of the new element.minChildren- the minimum number of children of the node.maxChildren- the maximum number of children of the node.- Throws:
IllegalArgumentException- ifparentNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifminChildrenis negative or larger thanmaxChildren.
-
addChildElement
protected void addChildElement(String elementName, String parentName)
Adds an existing element to the list of legal children for a given parent node type.- Parameters:
parentName- the name of the element that will be the new parent of the element.elementName- the name of the element to be addded as a child.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifparentNameisnull, or is not a legal element name for this format.
-
removeElement
protected void removeElement(String elementName)
Removes an element from the format. If no element with the given name was present, nothing happens and no exception is thrown.- Parameters:
elementName- the name of the element to be removed.
-
addAttribute
protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)
Adds a new attribute to a previously defined element that may be set to an arbitrary value.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being added.dataType- the data type (string format) of the attribute, one of theDATATYPE_*constants.required-trueif the attribute must be present.defaultValue- the default value for the attribute, ornull.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnull.IllegalArgumentException- ifdataTypeis not one of the predefined constants.
-
addAttribute
protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)
Adds a new attribute to a previously defined element that will be defined by a set of enumerated values.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being added.dataType- the data type (string format) of the attribute, one of theDATATYPE_*constants.required-trueif the attribute must be present.defaultValue- the default value for the attribute, ornull.enumeratedValues- aListofStrings containing the legal values for the attribute.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnull.IllegalArgumentException- ifdataTypeis not one of the predefined constants.IllegalArgumentException- ifenumeratedValuesisnull.IllegalArgumentException- ifenumeratedValuesdoes not contain at least one entry.IllegalArgumentException- ifenumeratedValuescontains an element that is not aStringor isnull.
-
addAttribute
protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)
Adds a new attribute to a previously defined element that will be defined by a range of values.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being added.dataType- the data type (string format) of the attribute, one of theDATATYPE_*constants.required-trueif the attribute must be present.defaultValue- the default value for the attribute, ornull.minValue- the smallest (inclusive or exclusive depending on the value ofminInclusive) legal value for the attribute, as aString.maxValue- the largest (inclusive or exclusive depending on the value ofminInclusive) legal value for the attribute, as aString.minInclusive-trueifminValueis inclusive.maxInclusive-trueifmaxValueis inclusive.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnull.IllegalArgumentException- ifdataTypeis not one of the predefined constants.
-
addAttribute
protected void addAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)
Adds a new attribute to a previously defined element that will be defined by a list of values.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being added.dataType- the data type (string format) of the attribute, one of theDATATYPE_*constants.required-trueif the attribute must be present.listMinLength- the smallest legal number of list items.listMaxLength- the largest legal number of list items.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnull.IllegalArgumentException- ifdataTypeis not one of the predefined constants.IllegalArgumentException- iflistMinLengthis negative or larger thanlistMaxLength.
-
addBooleanAttribute
protected void addBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)
Adds a new attribute to a previously defined element that will be defined by the enumerated valuesTRUEandFALSE, with a datatype ofDATATYPE_BOOLEAN.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being added.hasDefaultValue-trueif a default value should be present.defaultValue- the default value for the attribute as aboolean, ignored ifhasDefaultValueisfalse.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnull.
-
removeAttribute
protected void removeAttribute(String elementName, String attrName)
Removes an attribute from a previously defined element. If no attribute with the given name was present in the given element, nothing happens and no exception is thrown.- Parameters:
elementName- the name of the element.attrName- the name of the attribute being removed.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.
-
addObjectValue
protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue)
Allows anObjectreference of a given class type to be stored in nodes implementing the named element. The value of theObjectis unconstrained other than by its class type.If an
Objectreference was previously allowed, the previous settings are overwritten.- Parameters:
elementName- the name of the element.classType- aClassvariable indicating the legal class type for the object value.required-trueif an object value must be present.defaultValue- the default value for theObjectreference, ornull.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.
-
addObjectValue
protected <T> void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)
Allows anObjectreference of a given class type to be stored in nodes implementing the named element. The value of theObjectmust be one of the values given byenumeratedValues.If an
Objectreference was previously allowed, the previous settings are overwritten.- Parameters:
elementName- the name of the element.classType- aClassvariable indicating the legal class type for the object value.required-trueif an object value must be present.defaultValue- the default value for theObjectreference, ornull.enumeratedValues- aListofObjects containing the legal values for the object reference.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifenumeratedValuesisnull.IllegalArgumentException- ifenumeratedValuesdoes not contain at least one entry.IllegalArgumentException- ifenumeratedValuescontains an element that is not an instance of the class type denoted byclassTypeor isnull.
-
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)
Allows anObjectreference of a given class type to be stored in nodes implementing the named element. The value of theObjectmust be within the range given byminValueandmaxValue. Furthermore, the class type must implement theComparableinterface.If an
Objectreference was previously allowed, the previous settings are overwritten.- Parameters:
elementName- the name of the element.classType- aClassvariable indicating the legal class type for the object value.defaultValue- the default value for theminValue- the smallest (inclusive or exclusive depending on the value ofminInclusive) legal value for the object value, as aString.maxValue- the largest (inclusive or exclusive depending on the value ofminInclusive) legal value for the object value, as aString.minInclusive-trueifminValueis inclusive.maxInclusive-trueifmaxValueis inclusive.- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.
-
addObjectValue
protected void addObjectValue(String elementName, Class<?> classType, int arrayMinLength, int arrayMaxLength)
Allows anObjectreference of a given class type to be stored in nodes implementing the named element. The value of theObjectmust an array of objects of class type given byclassType, with at leastarrayMinLengthand at mostarrayMaxLengthelements.If an
Objectreference was previously allowed, the previous settings are overwritten.- Parameters:
elementName- the name of the element.classType- aClassvariable indicating the legal class type for the object value.arrayMinLength- the smallest legal length for the array.arrayMaxLength- the largest legal length for the array.- Throws:
IllegalArgumentException- ifelementNameis not a legal element name for this format.
-
removeObjectValue
protected void removeObjectValue(String elementName)
Disallows anObjectreference from being stored in nodes implementing the named element.- Parameters:
elementName- the name of the element.- Throws:
IllegalArgumentException- ifelementNameis not a legal element name for this format.
-
getRootName
public String getRootName()
Description copied from interface:IIOMetadataFormatReturns the name of the root element of the format.- Specified by:
getRootNamein interfaceIIOMetadataFormat- Returns:
- a
String.
-
canNodeAppear
public abstract boolean canNodeAppear(String elementName, ImageTypeSpecifier imageType)
Description copied from interface:IIOMetadataFormatReturnstrueif the element (and the subtree below it) is allowed to appear in a metadata document for an image of the given type, defined by anImageTypeSpecifier. For example, a metadata document format might contain an element that describes the primary colors of the image, which would not be allowed when writing a grayscale image.- Specified by:
canNodeAppearin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.imageType- anImageTypeSpecifierindicating the type of the image that will be associated with the metadata.- Returns:
trueif the node is meaningful for images of the given type.
-
getElementMinChildren
public int getElementMinChildren(String elementName)
Description copied from interface:IIOMetadataFormatReturns the minimum number of children of the named element with child policyCHILD_POLICY_REPEAT. For example, an element representing color primary information might be required to have at least 3 children, one for each primay.- Specified by:
getElementMinChildrenin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an
int.
-
getElementMaxChildren
public int getElementMaxChildren(String elementName)
Description copied from interface:IIOMetadataFormatReturns the maximum number of children of the named element with child policyCHILD_POLICY_REPEAT. For example, an element representing an entry in an 8-bit color palette might be allowed to repeat up to 256 times. A value ofInteger.MAX_VALUEmay be used to specify that there is no upper bound.- Specified by:
getElementMaxChildrenin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an
int.
-
getElementDescription
public String getElementDescription(String elementName, Locale locale)
Returns aStringcontaining a description of the named element, ornull. The desciption will be localized for the suppliedLocaleif possible.The default implementation will first locate a
ResourceBundleusing the current resource base name set bysetResourceBaseNameand the suppliedLocale, using the fallback mechanism described in the comments forResourceBundle.getBundle. If aResourceBundleis found, the element name will be used as a key to itsgetStringmethod, and the result returned. If noResourceBundleis found, or no such key is present,nullwill be returned.If
localeisnull, the current defaultLocalereturned byLocale.getLocalewill be used.- Specified by:
getElementDescriptionin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element.locale- theLocalefor which localization will be attempted.- Returns:
- the element description.
- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.- See Also:
setResourceBaseName(java.lang.String)
-
getChildPolicy
public int getChildPolicy(String elementName)
Description copied from interface:IIOMetadataFormatReturns one of the constants starting withCHILD_POLICY_, indicating the legal pattern of children for the named element.- Specified by:
getChildPolicyin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- one of the
CHILD_POLICY_*constants.
-
getChildNames
public String[] getChildNames(String elementName)
Description copied from interface:IIOMetadataFormatReturns an array ofStrings indicating the names of the element which are allowed to be children of the named element, in the order in which they should appear. If the element cannot have children,nullis returned.- Specified by:
getChildNamesin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Strings, or null.
-
getAttributeNames
public String[] getAttributeNames(String elementName)
Description copied from interface:IIOMetadataFormatReturns an array ofStrings listing the names of the attributes that may be associated with the named element.- Specified by:
getAttributeNamesin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Strings.
-
getAttributeValueType
public int getAttributeValueType(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns one of the constants starting withVALUE_, indicating whether the values of the given attribute within the named element are arbitrary, constrained to lie within a specified range, constrained to be one of a set of enumerated values, or are a whitespace-separated list of arbitrary values.- Specified by:
getAttributeValueTypein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- one of the
VALUE_*constants.
-
getAttributeDataType
public int getAttributeDataType(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns one of the constants starting withDATATYPE_, indicating the format and interpretation of the value of the given attribute within th enamed element. IfgetAttributeValueTypereturnsVALUE_LIST, then the legal value is a whitespace-spearated list of values of the returned datatype.- Specified by:
getAttributeDataTypein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- one of the
DATATYPE_*constants.
-
isAttributeRequired
public boolean isAttributeRequired(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturnstrueif the named attribute must be present within the named element.- Specified by:
isAttributeRequiredin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
trueif the attribut must be present.
-
getAttributeDefaultValue
public String getAttributeDefaultValue(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns the default value of the named attribute, if it is not explictly present within the named element, as aString, ornullif no default value is available.- Specified by:
getAttributeDefaultValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- a
Stringcontaining the default value, ornull.
-
getAttributeEnumerations
public String[] getAttributeEnumerations(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns an array ofStrings containing the legal enumerated values for the given attribute within the named element. This method should only be called ifgetAttributeValueTypereturnsVALUE_ENUMERATION.- Specified by:
getAttributeEnumerationsin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- an array of
Strings.
-
getAttributeMinValue
public String getAttributeMinValue(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns the minimum legal value for the attribute. Whether this value is inclusive or exclusive may be determined by the value ofgetAttributeValueType. The value is returned as aString; its interpretation is dependent on the value ofgetAttributeDataType. This method should only be called ifgetAttributeValueTypereturnsVALUE_RANGE_*.- Specified by:
getAttributeMinValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- a
Stringcontaining the smallest legal value for the attribute.
-
getAttributeMaxValue
public String getAttributeMaxValue(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns the maximum legal value for the attribute. Whether this value is inclusive or exclusive may be determined by the value ofgetAttributeValueType. The value is returned as aString; its interpretation is dependent on the value ofgetAttributeDataType. This method should only be called ifgetAttributeValueTypereturnsVALUE_RANGE_*.- Specified by:
getAttributeMaxValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried, as aString.attrName- the name of the attribute being queried.- Returns:
- a
Stringcontaining the largest legal value for the attribute.
-
getAttributeListMinLength
public int getAttributeListMinLength(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns the minimum number of list items that may be used to define this attribute. The attribute itself is defined as aStringcontaining multiple whitespace-separated items. This method should only be called ifgetAttributeValueTypereturnsVALUE_LIST.- Specified by:
getAttributeListMinLengthin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- the smallest legal number of list items for the attribute.
-
getAttributeListMaxLength
public int getAttributeListMaxLength(String elementName, String attrName)
Description copied from interface:IIOMetadataFormatReturns the maximum number of list items that may be used to define this attribute. A value ofInteger.MAX_VALUEmay be used to specify that there is no upper bound. The attribute itself is defined as aStringcontaining multiple whitespace-separated items. This method should only be called ifgetAttributeValueTypereturnsVALUE_LIST.- Specified by:
getAttributeListMaxLengthin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- the largest legal number of list items for the attribute.
-
getAttributeDescription
public String getAttributeDescription(String elementName, String attrName, Locale locale)
Returns aStringcontaining a description of the named attribute, ornull. The desciption will be localized for the suppliedLocaleif possible.The default implementation will first locate a
ResourceBundleusing the current resource base name set bysetResourceBaseNameand the suppliedLocale, using the fallback mechanism described in the comments forResourceBundle.getBundle. If aResourceBundleis found, the element name followed by a "/" character followed by the attribute name (elementName + "/" + attrName) will be used as a key to itsgetStringmethod, and the result returned. If noResourceBundleis found, or no such key is present,nullwill be returned.If
localeisnull, the current defaultLocalereturned byLocale.getLocalewill be used.- Specified by:
getAttributeDescriptionin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element.attrName- the name of the attribute.locale- theLocalefor which localization will be attempted, ornull.- Returns:
- the attribute description.
- Throws:
IllegalArgumentException- ifelementNameisnull, or is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.- See Also:
setResourceBaseName(java.lang.String)
-
getObjectValueType
public int getObjectValueType(String elementName)
Description copied from interface:IIOMetadataFormatReturns one of the enumerated values starting withVALUE_, indicating the type of values (enumeration, range, or array) that are allowed for theObjectreference. If no object value can be stored within the given element, the result of this method will beVALUE_NONE.Objectreferences whose legal values are defined as a range must implement theComparableinterface.- Specified by:
getObjectValueTypein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- one of the
VALUE_*constants. - See Also:
Comparable
-
getObjectClass
public Class<?> getObjectClass(String elementName)
Description copied from interface:IIOMetadataFormatReturns theClasstype of theObjectreference stored within the element. If this element may not contain anObjectreference, anIllegalArgumentExceptionwill be thrown. If the class type is an array, this field indicates the underlying class type (e.g, for an array ofints, this method would returnint.class).Objectreferences whose legal values are defined as a range must implement theComparableinterface.- Specified by:
getObjectClassin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- a
Classobject.
-
getObjectDefaultValue
public Object getObjectDefaultValue(String elementName)
Description copied from interface:IIOMetadataFormatReturns anObjects containing the default value for theObjectreference within the named element.- Specified by:
getObjectDefaultValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an
Object.
-
getObjectEnumerations
public Object[] getObjectEnumerations(String elementName)
Description copied from interface:IIOMetadataFormatReturns an array ofObjects containing the legal enumerated values for theObjectreference within the named element. This method should only be called ifgetObjectValueTypereturnsVALUE_ENUMERATION.The
Objectassociated with a node that accepts emuerated values must be equal to one of the values returned by this method, as defined by the==operator (as opposed to theObject.equalsmethod).- Specified by:
getObjectEnumerationsin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Objects.
-
getObjectMinValue
public Comparable<?> getObjectMinValue(String elementName)
Description copied from interface:IIOMetadataFormatReturns the minimum legal value for theObjectreference within the named element. Whether this value is inclusive or exclusive may be determined by the value ofgetObjectValueType. This method should only be called ifgetObjectValueTypereturns one of the constants starting withVALUE_RANGE.- Specified by:
getObjectMinValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest legal value for the attribute.
-
getObjectMaxValue
public Comparable<?> getObjectMaxValue(String elementName)
Description copied from interface:IIOMetadataFormatReturns the maximum legal value for theObjectreference within the named element. Whether this value is inclusive or exclusive may be determined by the value ofgetObjectValueType. This method should only be called ifgetObjectValueTypereturns one of the constants starting withVALUE_RANGE.- Specified by:
getObjectMaxValuein interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest legal value for the attribute.
-
getObjectArrayMinLength
public int getObjectArrayMinLength(String elementName)
Description copied from interface:IIOMetadataFormatReturns the minimum number of array elements that may be used to define theObjectreference within the named element. This method should only be called ifgetObjectValueTypereturnsVALUE_LIST.- Specified by:
getObjectArrayMinLengthin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest valid array length for the
Objectreference.
-
getObjectArrayMaxLength
public int getObjectArrayMaxLength(String elementName)
Description copied from interface:IIOMetadataFormatReturns the maximum number of array elements that may be used to define theObjectreference within the named element. A value ofInteger.MAX_VALUEmay be used to specify that there is no upper bound. This method should only be called ifgetObjectValueTypereturnsVALUE_LIST.- Specified by:
getObjectArrayMaxLengthin interfaceIIOMetadataFormat- Parameters:
elementName- the name of the element being queried.- Returns:
- the largest valid array length for the
Objectreference.
-
getStandardFormatInstance
public static IIOMetadataFormat getStandardFormatInstance()
Returns anIIOMetadataFormatobject describing the standard, plug-in neutraljavax.imageio_1.0metadata document format described in the comment of thejavax.imageio.metadatapackage.- Returns:
- a predefined
IIOMetadataFormatinstance.
-
-
Deutsche Übersetzung
Sie haben gebeten, diese Seite auf Deutsch zu besuchen. Momentan ist nur die Oberfläche übersetzt, aber noch nicht der gesamte Inhalt.Wenn Sie mir bei Übersetzungen helfen wollen, ist Ihr Beitrag willkommen. Alles, was Sie tun müssen, ist, sich auf der Website zu registrieren und mir eine Nachricht zu schicken, in der Sie gebeten werden, Sie der Gruppe der Übersetzer hinzuzufügen, die Ihnen die Möglichkeit gibt, die gewünschten Seiten zu übersetzen. Ein Link am Ende jeder übersetzten Seite zeigt an, dass Sie der Übersetzer sind und einen Link zu Ihrem Profil haben.
Vielen Dank im Voraus.
Dokument erstellt 11/06/2005, zuletzt geändert 04/03/2020
Quelle des gedruckten Dokuments:https://www.gaudry.be/de/java-api-rf-javax/imageio/metadata/iiometadataformatimpl.html
Die Infobro ist eine persönliche Seite, deren Inhalt in meiner alleinigen Verantwortung liegt. Der Text ist unter der CreativeCommons-Lizenz (BY-NC-SA) verfügbar. Weitere Informationen auf die Nutzungsbedingungen und dem Autor.
Referenzen
Diese Verweise und Links verweisen auf Dokumente, die während des Schreibens dieser Seite konsultiert wurden, oder die zusätzliche Informationen liefern können, aber die Autoren dieser Quellen können nicht für den Inhalt dieser Seite verantwortlich gemacht werden.
Der Autor dieser Website ist allein dafür verantwortlich, wie die verschiedenen Konzepte und Freiheiten, die mit den Nachschlagewerken gemacht werden, hier dargestellt werden. Denken Sie daran, dass Sie mehrere Quellinformationen austauschen müssen, um das Risiko von Fehlern zu reduzieren.