-
- All Known Implementing Classes:
IIOMetadataFormatImpl
public interface IIOMetadataFormatAn object describing the structure of metadata documents returned fromIIOMetadata.getAsTreeand passed toIIOMetadata.setFromTreeandmergeTree. 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 ofObjectreference 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 ofgetInstance.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.desktop
module 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
Objectreference 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
Fields Modifier and Type Field Description static intCHILD_POLICY_ALLA constant returned bygetChildPolicyto indicate that an element must have a single instance of each of its legal child elements, in order.static intCHILD_POLICY_CHOICEA constant returned bygetChildPolicyto indicate that an element must have zero or one children, selected from among its legal child elements.static intCHILD_POLICY_EMPTYA constant returned bygetChildPolicyto indicate that an element may not have any children.static intCHILD_POLICY_MAXThe largest validCHILD_POLICY_*constant, to be used for range checks.static intCHILD_POLICY_REPEATA constant returned bygetChildPolicyto indicate that an element must have zero or more instances of its unique legal child element.static intCHILD_POLICY_SEQUENCEA constant returned bygetChildPolicyto indicate that an element must have a sequence of instances of any of its legal child elements.static intCHILD_POLICY_SOMEA constant returned bygetChildPolicyto indicate that an element must have zero or one instance of each of its legal child elements, in order.static intDATATYPE_BOOLEANA constant returned bygetAttributeDataTypeindicating that the value of an attribute is one of the boolean values 'true' or 'false'.static intDATATYPE_DOUBLEA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a double-precision decimal floating-point number.static intDATATYPE_FLOATA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a decimal floating-point number.static intDATATYPE_INTEGERA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of an integer.static intDATATYPE_STRINGA constant returned bygetAttributeDataTypeindicating that the value of an attribute is a general Unicode string.static intVALUE_ARBITRARYA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a single, arbitrary value.static intVALUE_ENUMERATIONA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set one of a number of enumerated values.static intVALUE_LISTA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a list or array of values.static intVALUE_NONEA constant returned bygetObjectValueTypeto indicate the absence of a user object.static intVALUE_RANGEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values.static intVALUE_RANGE_MAX_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values.static intVALUE_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.static intVALUE_RANGE_MIN_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set to a range of values.static intVALUE_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.static intVALUE_RANGE_MIN_MAX_INCLUSIVEA constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a range of values.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description 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 the named element.StringgetAttributeDefaultValue(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.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.StringgetRootName()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 Detail
-
CHILD_POLICY_EMPTY
static final int CHILD_POLICY_EMPTY
A 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:
- Constant Field Values
-
CHILD_POLICY_ALL
static final int CHILD_POLICY_ALL
A 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:
- Constant Field Values
-
CHILD_POLICY_SOME
static final int CHILD_POLICY_SOME
A 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:
- Constant Field Values
-
CHILD_POLICY_CHOICE
static final int CHILD_POLICY_CHOICE
A 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:
- Constant Field Values
-
CHILD_POLICY_SEQUENCE
static final int CHILD_POLICY_SEQUENCE
A 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:
- Constant Field Values
-
CHILD_POLICY_REPEAT
static final int CHILD_POLICY_REPEAT
A 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:
- Constant Field Values
-
CHILD_POLICY_MAX
static final int CHILD_POLICY_MAX
The largest validCHILD_POLICY_*constant, to be used for range checks.- See Also:
- Constant Field Values
-
VALUE_NONE
static final int VALUE_NONE
A constant returned bygetObjectValueTypeto indicate the absence of a user object.- See Also:
- Constant Field Values
-
VALUE_ARBITRARY
static final int VALUE_ARBITRARY
A constant returned bygetAttributeValueTypeandgetObjectValueTypeto indicate that the attribute or user object may be set a single, arbitrary value.- See Also:
- Constant Field Values
-
VALUE_RANGE
static final int VALUE_RANGE
A 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.
-
VALUE_RANGE_MIN_INCLUSIVE_MASK
static final int VALUE_RANGE_MIN_INCLUSIVE_MASK
A 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:
- Constant Field Values
-
VALUE_RANGE_MAX_INCLUSIVE_MASK
static final int VALUE_RANGE_MAX_INCLUSIVE_MASK
A 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:
- Constant Field Values
-
VALUE_RANGE_MIN_INCLUSIVE
static final int VALUE_RANGE_MIN_INCLUSIVE
A 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:
- Constant Field Values
-
VALUE_RANGE_MAX_INCLUSIVE
static final int VALUE_RANGE_MAX_INCLUSIVE
A 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:
- Constant Field Values
-
VALUE_RANGE_MIN_MAX_INCLUSIVE
static final int VALUE_RANGE_MIN_MAX_INCLUSIVE
A 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:
- Constant Field Values
-
VALUE_ENUMERATION
static final int VALUE_ENUMERATION
A 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:
- Constant Field Values
-
VALUE_LIST
static final int VALUE_LIST
A 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:
- Constant Field Values
-
DATATYPE_STRING
static final int DATATYPE_STRING
A constant returned bygetAttributeDataTypeindicating that the value of an attribute is a general Unicode string.- See Also:
- Constant Field Values
-
DATATYPE_BOOLEAN
static final int DATATYPE_BOOLEAN
A 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:
- Constant Field Values
-
DATATYPE_INTEGER
static final int DATATYPE_INTEGER
A constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of an integer.- See Also:
- Constant Field Values
-
DATATYPE_FLOAT
static final int DATATYPE_FLOAT
A constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a decimal floating-point number.- See Also:
- Constant Field Values
-
DATATYPE_DOUBLE
static final int DATATYPE_DOUBLE
A constant returned bygetAttributeDataTypeindicating that the value of an attribute is a string representation of a double-precision decimal floating-point number.- See Also:
- Constant Field Values
-
-
Method Detail
-
getRootName
String getRootName()
Returns the name of the root element of the format.- Returns:
- a
String.
-
canNodeAppear
boolean canNodeAppear(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. 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
int getElementMinChildren(String elementName)
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
int getElementMaxChildren(String elementName)
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
String getElementDescription(String elementName, Locale locale)
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
int getChildPolicy(String elementName)
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
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. 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
String[] getAttributeNames(String elementName)
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
int getAttributeValueType(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.- 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
int getAttributeDataType(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. 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
boolean isAttributeRequired(String elementName, String attrName)
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
String 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.- 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
String[] getAttributeEnumerations(String elementName, String attrName)
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
String getAttributeMinValue(String elementName, String attrName)
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
String getAttributeMaxValue(String elementName, String attrName)
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
int getAttributeListMinLength(String elementName, String attrName)
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
int getAttributeListMaxLength(String elementName, String attrName)
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
String getAttributeDescription(String elementName, String attrName, Locale locale)
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
int getObjectValueType(String elementName)
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:
Comparable
-
getObjectClass
Class<?> getObjectClass(String elementName)
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
Object getObjectDefaultValue(String elementName)
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
Object[] getObjectEnumerations(String elementName)
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
Comparable<?> getObjectMinValue(String elementName)
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
Comparable<?> getObjectMaxValue(String elementName)
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
int getObjectArrayMinLength(String elementName)
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
int getObjectArrayMaxLength(String elementName)
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.
-
-