- All Known Implementing Classes:
IIOMetadataFormatImpl
IIOMetadata.getAsTree and passed to
IIOMetadata.setFromTree and mergeTree.
Document structures are described by a set of constraints on the
type and number of child elements that may belong to a given parent
element type, the names, types, and values of attributes that may
belong to an element, and the type and values of
Object reference that may be stored at a node.
N.B: classes that implement this interface should contain a
method declared as public static getInstance() which
returns an instance of the class. Commonly, an implementation will
construct only a single instance and cache it for future
invocations of getInstance.
In the event that the plugin is provided as part of a named module, that module must export the package containing the implementation class to the
java.desktopmodule via a qualified export. An unqualified export is not recommended unless also needed for some other reason. Failing to export the package will result in access failure at runtime.
The structures that may be described by this class are a subset
of those expressible using XML document type definitions (DTDs),
with the addition of some basic information on the datatypes of
attributes and the ability to store an Object
reference within a node. In the future, XML Schemas could be used
to represent these structures, and many others.
The differences between
IIOMetadataFormat-described structures and DTDs are as
follows:
- Elements may not contain text or mix text with embedded tags.
- The children of an element must conform to one of a few simple
patterns, described in the documentation for the
CHILD_*constants; - The in-memory representation of an elements may contain a
reference to an
Object. There is no provision for representing such objects textually.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intA constant returned bygetChildPolicyto indicate that an element must have a single instance of each of its legal child elements, in order.static final intA constant returned bygetChildPolicyto indicate that an element must have zero or one children, selected from among its legal child elements.static final intA constant returned bygetChildPolicyto indicate that an element may not have any children.static final intThe largest validCHILD_POLICY_*constant, to be used for range checks.static final intA constant returned bygetChildPolicyto indicate that an element must have zero or more instances of its unique legal child element.static final intA constant returned bygetChildPolicyto indicate that an element must have a sequence of instances of any of its legal child elements.static final intA constant returned bygetChildPolicyto indicate that an element must have zero or one instance of each of its legal child elements, in order.static final intA constant returned bygetAttributeDataTypeindicating that the value of an attribute is one of the boolean values 'true' or 'false'.static final intA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a double-precision decimal floating-point number.static final intA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a decimal floating-point number.static final intA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of an integer.static final intA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a general Unicode string.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a single, arbitrary value.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set one of a number of enumerated values.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a list or array of values.static final intA constant returned bygetObjectValueTypeto indicate the absence of a user object.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values.static final intA value that may be or'ed withVALUE_RANGEto obtainVALUE_RANGE_MAX_INCLUSIVE, and withVALUE_RANGE_MIN_INCLUSIVEto obtainVALUE_RANGE_MIN_MAX_INCLUSIVE.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values.static final intA value that may be or'ed withVALUE_RANGEto obtainVALUE_RANGE_MIN_INCLUSIVE, and withVALUE_RANGE_MAX_INCLUSIVEto obtainVALUE_RANGE_MIN_MAX_INCLUSIVE.static final intA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values. -
Method Summary
Modifier and TypeMethodDescriptionbooleancanNodeAppear(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 the named element.getAttributeDefaultValue(String elementName, String attrName) Returns the default value of the named attribute, if it is not explicitly present within the named element, as aString, ornullif no default value is available.getAttributeDescription(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.getAttributeMaxValue(String elementName, String attrName) Returns the maximum legal value for the attribute.getAttributeMinValue(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.getElementDescription(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.getObjectDefaultValue(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.Returns the name of the root element of the format.booleanisAttributeRequired(String elementName, String attrName) Returnstrueif the named attribute must be present within the named element.
-
Field Details
-
CHILD_POLICY_EMPTY
static final int CHILD_POLICY_EMPTYA constant returned bygetChildPolicyto indicate that an element may not have any children. In other words, it is required to be a leaf node.- See Also:
-
CHILD_POLICY_ALL
static final int CHILD_POLICY_ALLA constant returned bygetChildPolicyto indicate that an element must have a single instance of each of its legal child elements, in order. In DTD terms, the contents of the element are defined by a sequencea,b,c,d,....- See Also:
-
CHILD_POLICY_SOME
static final int CHILD_POLICY_SOMEA constant returned bygetChildPolicyto indicate that an element must have zero or one instance of each of its legal child elements, in order. In DTD terms, the contents of the element are defined by a sequencea?,b?,c?,d?,....- See Also:
-
CHILD_POLICY_CHOICE
static final int CHILD_POLICY_CHOICEA constant returned bygetChildPolicyto indicate that an element must have zero or one children, selected from among its legal child elements. In DTD terms, the contents of the element are defined by a selectiona|b|c|d|....- See Also:
-
CHILD_POLICY_SEQUENCE
static final int CHILD_POLICY_SEQUENCEA constant returned bygetChildPolicyto indicate that an element must have a sequence of instances of any of its legal child elements. In DTD terms, the contents of the element are defined by a sequence(a|b|c|d|...)*.- See Also:
-
CHILD_POLICY_REPEAT
static final int CHILD_POLICY_REPEATA constant returned bygetChildPolicyto indicate that an element must have zero or more instances of its unique legal child element. In DTD terms, the contents of the element are defined by a starred expressiona*.- See Also:
-
CHILD_POLICY_MAX
static final int CHILD_POLICY_MAXThe largest validCHILD_POLICY_*constant, to be used for range checks.- See Also:
-
VALUE_NONE
static final int VALUE_NONEA constant returned bygetObjectValueTypeto indicate the absence of a user object.- See Also:
-
VALUE_ARBITRARY
static final int VALUE_ARBITRARYA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a single, arbitrary value.- See Also:
-
VALUE_RANGE
static final int VALUE_RANGEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values. Both the minimum and maximum values of the range are exclusive. It is recommended that ranges of integers be inclusive on both ends, and that exclusive ranges be used only for floating-point data.- See Also:
-
VALUE_RANGE_MIN_INCLUSIVE_MASK
static final int VALUE_RANGE_MIN_INCLUSIVE_MASKA value that may be or'ed withVALUE_RANGEto obtainVALUE_RANGE_MIN_INCLUSIVE, and withVALUE_RANGE_MAX_INCLUSIVEto obtainVALUE_RANGE_MIN_MAX_INCLUSIVE.Similarly, the value may be and'ed with the value of
getAttributeValueTypeorgetObjectValueTypeto determine if the minimum value of the range is inclusive.- See Also:
-
VALUE_RANGE_MAX_INCLUSIVE_MASK
static final int VALUE_RANGE_MAX_INCLUSIVE_MASKA value that may be or'ed withVALUE_RANGEto obtainVALUE_RANGE_MAX_INCLUSIVE, and withVALUE_RANGE_MIN_INCLUSIVEto obtainVALUE_RANGE_MIN_MAX_INCLUSIVE.Similarly, the value may be and'ed with the value of
getAttributeValueTypeorgetObjectValueTypeto determine if the maximum value of the range is inclusive.- See Also:
-
VALUE_RANGE_MIN_INCLUSIVE
static final int VALUE_RANGE_MIN_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values. The minimum (but not the maximum) value of the range is inclusive.- See Also:
-
VALUE_RANGE_MAX_INCLUSIVE
static final int VALUE_RANGE_MAX_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values. The maximum (but not the minimum) value of the range is inclusive.- See Also:
-
VALUE_RANGE_MIN_MAX_INCLUSIVE
static final int VALUE_RANGE_MIN_MAX_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values. Both the minimum and maximum values of the range are inclusive. It is recommended that ranges of integers be inclusive on both ends, and that exclusive ranges be used only for floating-point data.- See Also:
-
VALUE_ENUMERATION
static final int VALUE_ENUMERATIONA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set one of a number of enumerated values. In the case of attributes, these values areStrings; for objects, they areObjects implementing a given class or interface.Attribute values of type
DATATYPE_BOOLEANshould be marked as enumerations.- See Also:
-
VALUE_LIST
static final int VALUE_LISTA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a list or array of values. In the case of attributes, the list will consist of whitespace-separated values within aString; for objects, an array will be used.- See Also:
-
DATATYPE_STRING
static final int DATATYPE_STRINGA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a general Unicode string.- See Also:
-
DATATYPE_BOOLEAN
static final int DATATYPE_BOOLEANA constant returned bygetAttributeDataTypeindicating that the value of an attribute is one of the boolean values 'true' or 'false'. Attribute values of type DATATYPE_BOOLEAN should be marked as enumerations, and the permitted values should be the string literal values "TRUE" or "FALSE", although a plugin may also recognise lower or mixed case equivalents.- See Also:
-
DATATYPE_INTEGER
static final int DATATYPE_INTEGERA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of an integer.- See Also:
-
DATATYPE_FLOAT
static final int DATATYPE_FLOATA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a decimal floating-point number.- See Also:
-
DATATYPE_DOUBLE
static final int DATATYPE_DOUBLEA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a double-precision decimal floating-point number.- See Also:
-
-
Method Details
-
getRootName
String getRootName()Returns the name of the root element of the format.- Returns:
- a
String.
-
canNodeAppear
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. 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.- 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
Returns 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 primary.- Parameters:
elementName- the name of the element being queried.- Returns:
- an
int. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element does not have a child policy ofCHILD_POLICY_REPEAT.
-
getElementMaxChildren
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- an
int. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element does not have a child policy ofCHILD_POLICY_REPEAT.
-
getElementDescription
Returns aStringcontaining a description of the named element, ornull. The description will be localized for the suppliedLocaleif possible.If
localeisnull, the current defaultLocalereturned byLocale.getLocalewill be used.- 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.
-
getChildPolicy
Returns one of the constants starting withCHILD_POLICY_, indicating the legal pattern of children for the named element.- Parameters:
elementName- the name of the element being queried.- Returns:
- one of the
CHILD_POLICY_*constants. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.
-
getChildNames
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. If the element cannot have children,nullis returned.- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Strings, or null. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.
-
getAttributeNames
Returns an array ofStrings listing the names of the attributes that may be associated with the named element.- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Strings. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.
-
getAttributeValueType
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.- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- one of the
VALUE_*constants. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.
-
getAttributeDataType
Returns one of the constants starting withDATATYPE_, indicating the format and interpretation of the value of the given attribute within the named element. IfgetAttributeValueTypereturnsVALUE_LIST, then the legal value is a whitespace-spearated list of values of the returned datatype.- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- one of the
DATATYPE_*constants. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.
-
isAttributeRequired
Returnstrueif the named attribute must be present within the named element.- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
trueif the attribute must be present.- Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.
-
getAttributeDefaultValue
Returns the default value of the named attribute, if it is not explicitly present within the named element, as aString, ornullif no default value is available.- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- a
Stringcontaining the default value, ornull. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.
-
getAttributeEnumerations
Returns an array ofStrings containing the legal enumerated values for the given attribute within the named element. This method should only be called ifgetAttributeValueTypereturnsVALUE_ENUMERATION.- Parameters:
elementName- the name of the element being queried.attrName- the name of the attribute being queried.- Returns:
- an array of
Strings. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.IllegalArgumentException- if the given attribute is not defined as an enumeration.
-
getAttributeMinValue
Returns 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_*.- 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. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.IllegalArgumentException- if the given attribute is not defined as a range.
-
getAttributeMaxValue
Returns 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_*.- 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. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.IllegalArgumentException- if the given attribute is not defined as a range.
-
getAttributeListMinLength
Returns 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.- 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.
- Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.IllegalArgumentException- if the given attribute is not defined as a list.
-
getAttributeListMaxLength
Returns 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.- 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.
- Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- ifattrNameisnullor is not a legal attribute name for this element.IllegalArgumentException- if the given attribute is not defined as a list.
-
getAttributeDescription
Returns aStringcontaining a description of the named attribute, ornull. The description will be localized for the suppliedLocaleif possible.If
localeisnull, the current defaultLocalereturned byLocale.getLocalewill be used.- Parameters:
elementName- the name of the element.attrName- the name of the attribute.locale- theLocalefor which localization will be attempted.- 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.
-
getObjectValueType
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- one of the
VALUE_*constants. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.- See Also:
-
getObjectClass
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- a
Classobject. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).
-
getObjectDefaultValue
Returns anObjects containing the default value for theObjectreference within the named element.- Parameters:
elementName- the name of the element being queried.- Returns:
- an
Object. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).
-
getObjectEnumerations
Returns 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 enumerated values must be equal to one of the values returned by this method, as defined by the==operator (as opposed to theObject.equalsmethod).- Parameters:
elementName- the name of the element being queried.- Returns:
- an array of
Objects. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).IllegalArgumentException- if theObjectis not defined as an enumeration.
-
getObjectMinValue
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest legal value for the attribute.
- Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).IllegalArgumentException- if theObjectis not defined as a range.
-
getObjectMaxValue
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest legal value for the attribute.
- Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).IllegalArgumentException- if theObjectis not defined as a range.
-
getObjectArrayMinLength
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- the smallest valid array length for the
Objectreference. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).IllegalArgumentException- if theObjectis not an array.
-
getObjectArrayMaxLength
Returns 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.- Parameters:
elementName- the name of the element being queried.- Returns:
- the largest valid array length for the
Objectreference. - Throws:
IllegalArgumentException- ifelementNameisnullor is not a legal element name for this format.IllegalArgumentException- if the named element cannot contain an object value (i.e., ifgetObjectValueType(elementName) == VALUE_NONE).IllegalArgumentException- if theObjectis not an array.
-