| java.lang.Object javax.imageio.metadata.IIOMetadataFormatImpl
IIOMetadataFormatImpl | abstract public class IIOMetadataFormatImpl implements IIOMetadataFormat(Code) | | A concrete class providing a reusable implementation of the
IIOMetadataFormat interface. In addition, a static
instance representing the standard, plug-in neutral
javax_imageio_1.0 format is provided by the
getStandardFormatInstance method.
In order to supply localized descriptions of elements and
attributes, a ResourceBundle with a base name of
this.getClass().getName() + "Resources" should be
supplied via the usual mechanism used by
ResourceBundle.getBundle . Briefly, the subclasser
supplies one or more additional classes according to a naming
convention (by default, the fully-qualified name of the subclass
extending IIMetadataFormatImpl , plus the string
"Resources", plus the country, language, and variant codes
separated by underscores). At run time, calls to
getElementDescription or
getAttributeDescription will 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 the ResourceBundle 's
getString method, 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 setResourceBaseName method.
A subclass may choose its own localization mechanism, if so
desired, by overriding the supplied implementations of
getElementDescription and
getAttributeDescription .
See Also: ResourceBundle.getBundle(StringLocale) version: 0.5 |
Inner Class :class Element | |
Inner Class :class Attribute | |
Inner Class :class ObjectValue | |
Constructor Summary | |
public | IIOMetadataFormatImpl(String rootName, int childPolicy) Constructs a blank IIOMetadataFormatImpl instance,
with a given root element name and child policy (other than
CHILD_POLICY_REPEAT ). | public | IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren) Constructs a blank IIOMetadataFormatImpl instance,
with a given root element name and a child policy of
CHILD_POLICY_REPEAT . |
Method Summary | |
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. | 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. | 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. | 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. | 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 values TRUE and
FALSE , with a datatype of
DATATYPE_BOOLEAN . | protected void | addChildElement(String elementName, String parentName) Adds an existing element to the list of legal children for a
given parent node type. | protected void | addElement(String elementName, String parentName, int childPolicy) Adds a new element type to this metadata document format with a
child policy other than CHILD_POLICY_REPEAT . | 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 of CHILD_POLICY_REPEAT . | protected void | addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue) Allows an Object reference of a given class type
to be stored in nodes implementing the named element. | protected void | addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues) Allows an Object reference of a given class type
to be stored in nodes implementing the named element. | protected void | addObjectValue(String elementName, Class<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive) Allows an Object reference of a given class type
to be stored in nodes implementing the named element. | protected void | addObjectValue(String elementName, Class> classType, int arrayMinLength, int arrayMaxLength) Allows an Object reference of a given class type
to be stored in nodes implementing the named element. | abstract public boolean | canNodeAppear(String elementName, ImageTypeSpecifier imageType) | public int | getAttributeDataType(String elementName, String attrName) | public String | getAttributeDefaultValue(String elementName, String attrName) | public String | getAttributeDescription(String elementName, String attrName, Locale locale) Returns a String containing a description of the
named attribute, or null . | public String[] | getAttributeEnumerations(String elementName, String attrName) | public int | getAttributeListMaxLength(String elementName, String attrName) | public int | getAttributeListMinLength(String elementName, String attrName) | public String | getAttributeMaxValue(String elementName, String attrName) | public String | getAttributeMinValue(String elementName, String attrName) | public String[] | getAttributeNames(String elementName) | public int | getAttributeValueType(String elementName, String attrName) | public String[] | getChildNames(String elementName) | public int | getChildPolicy(String elementName) | public String | getElementDescription(String elementName, Locale locale) Returns a String containing a description of the
named element, or null . | public int | getElementMaxChildren(String elementName) | public int | getElementMinChildren(String elementName) | public int | getObjectArrayMaxLength(String elementName) | public int | getObjectArrayMinLength(String elementName) | public Class> | getObjectClass(String elementName) | public Object | getObjectDefaultValue(String elementName) | public Object[] | getObjectEnumerations(String elementName) | public Comparable> | getObjectMaxValue(String elementName) | public Comparable> | getObjectMinValue(String elementName) | public int | getObjectValueType(String elementName) | protected String | getResourceBaseName() Returns the currently set base name for locating
ResourceBundle s. | public String | getRootName() | public static IIOMetadataFormat | getStandardFormatInstance() Returns an IIOMetadataFormat object describing the
standard, plug-in neutral javax.imageio_1.0
metadata document format described in the comment of the
javax.imageio.metadata package. | public boolean | isAttributeRequired(String elementName, String attrName) | protected void | removeAttribute(String elementName, String attrName) Removes an attribute from a previously defined element. | protected void | removeElement(String elementName) Removes an element from the format. | protected void | removeObjectValue(String elementName) Disallows an Object reference from being stored in
nodes implementing the named element. | protected void | setResourceBaseName(String resourceBaseName) Sets a new base name for locating ResourceBundle s
containing descriptions of elements and attributes for this
format. |
standardMetadataFormatName | final public static String standardMetadataFormatName(Code) | | A String constant containing the standard format
name, "javax_imageio_1.0" .
|
IIOMetadataFormatImpl | public IIOMetadataFormatImpl(String rootName, int childPolicy)(Code) | | Constructs a blank IIOMetadataFormatImpl instance,
with a given root element name and child policy (other than
CHILD_POLICY_REPEAT ). Additional elements, and
their attributes and Object reference information
may be added using the various add methods.
Parameters: rootName - the name of the root element. Parameters: childPolicy - one of the CHILD_POLICY_* constants,other than CHILD_POLICY_REPEAT . exception: IllegalArgumentException - if rootName isnull . exception: IllegalArgumentException - if childPolicy isnot one of the predefined constants. |
IIOMetadataFormatImpl | public IIOMetadataFormatImpl(String rootName, int minChildren, int maxChildren)(Code) | | Constructs a blank IIOMetadataFormatImpl instance,
with a given root element name and a child policy of
CHILD_POLICY_REPEAT . Additional elements, and
their attributes and Object reference information
may be added using the various add methods.
Parameters: rootName - the name of the root element. Parameters: minChildren - the minimum number of children of the node. Parameters: maxChildren - the maximum number of children of the node. exception: IllegalArgumentException - if rootName isnull . exception: IllegalArgumentException - if minChildren is negative or larger than maxChildren . |
addAttribute | protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue)(Code) | | Adds a new attribute to a previously defined element that may
be set to an arbitrary value.
Parameters: elementName - the name of the element. Parameters: attrName - the name of the attribute being added. Parameters: dataType - the data type (string format) of the attribute,one of the DATATYPE_* constants. Parameters: required - true if the attribute must be present. Parameters: defaultValue - the default value for the attribute, ornull . exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if attrName isnull . exception: IllegalArgumentException - if dataType isnot one of the predefined constants. |
addAttribute | protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, List<String> enumeratedValues)(Code) | | 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. Parameters: attrName - the name of the attribute being added. Parameters: dataType - the data type (string format) of the attribute,one of the DATATYPE_* constants. Parameters: required - true if the attribute must be present. Parameters: defaultValue - the default value for the attribute, ornull . Parameters: enumeratedValues - a List ofString s containing the legal values for theattribute. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if attrName isnull . exception: IllegalArgumentException - if dataType isnot one of the predefined constants. exception: IllegalArgumentException - ifenumeratedValues is null . exception: IllegalArgumentException - ifenumeratedValues does not contain at least oneentry. exception: IllegalArgumentException - ifenumeratedValues contains an element that is not aString or is null . |
addAttribute | protected void addAttribute(String elementName, String attrName, int dataType, boolean required, String defaultValue, String minValue, String maxValue, boolean minInclusive, boolean maxInclusive)(Code) | | 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. Parameters: attrName - the name of the attribute being added. Parameters: dataType - the data type (string format) of the attribute,one of the DATATYPE_* constants. Parameters: required - true if the attribute must be present. Parameters: defaultValue - the default value for the attribute, ornull . Parameters: minValue - the smallest (inclusive or exclusive dependingon the value of minInclusive ) legal value for theattribute, as a String . Parameters: maxValue - the largest (inclusive or exclusive dependingon the value of minInclusive ) legal value for theattribute, as a String . Parameters: minInclusive - true if minValue is inclusive. Parameters: maxInclusive - true if maxValue is inclusive. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if attrName isnull . exception: IllegalArgumentException - if dataType isnot one of the predefined constants. |
addAttribute | protected void addAttribute(String elementName, String attrName, int dataType, boolean required, int listMinLength, int listMaxLength)(Code) | | 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. Parameters: attrName - the name of the attribute being added. Parameters: dataType - the data type (string format) of the attribute,one of the DATATYPE_* constants. Parameters: required - true if the attribute must be present. Parameters: listMinLength - the smallest legal number of list items. Parameters: listMaxLength - the largest legal number of list items. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if attrName isnull . exception: IllegalArgumentException - if dataType isnot one of the predefined constants. exception: IllegalArgumentException - iflistMinLength is negative or larger thanlistMaxLength . |
addBooleanAttribute | protected void addBooleanAttribute(String elementName, String attrName, boolean hasDefaultValue, boolean defaultValue)(Code) | | Adds a new attribute to a previously defined element that will
be defined by the enumerated values TRUE and
FALSE , with a datatype of
DATATYPE_BOOLEAN .
Parameters: elementName - the name of the element. Parameters: attrName - the name of the attribute being added. Parameters: hasDefaultValue - true if a default valueshould be present. Parameters: defaultValue - the default value for the attribute as aboolean , ignored if hasDefaultValue is false . exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if attrName isnull . |
addChildElement | protected void addChildElement(String elementName, String parentName)(Code) | | 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 thenew parent of the element. Parameters: elementName - the name of the element to be addded as achild. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if parentName is null , or is not a legal element name for thisformat. |
addElement | protected void addElement(String elementName, String parentName, int childPolicy)(Code) | | Adds a new element type to this metadata document format with a
child policy other than CHILD_POLICY_REPEAT .
Parameters: elementName - the name of the new element. Parameters: parentName - the name of the element that will be theparent of the new element. Parameters: childPolicy - one of the CHILD_POLICY_* constants, other than CHILD_POLICY_REPEAT ,indicating the child policy of the new element. exception: IllegalArgumentException - if parentName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if childPolicy is not one of the predefined constants. |
addElement | protected void addElement(String elementName, String parentName, int minChildren, int maxChildren)(Code) | | Adds a new element type to this metadata document format with a
child policy of CHILD_POLICY_REPEAT .
Parameters: elementName - the name of the new element. Parameters: parentName - the name of the element that will be theparent of the new element. Parameters: minChildren - the minimum number of children of the node. Parameters: maxChildren - the maximum number of children of the node. exception: IllegalArgumentException - if parentName is null , or is not a legal element name for thisformat. exception: IllegalArgumentException - if minChildren is negative or larger than maxChildren . |
addObjectValue | protected void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue)(Code) | | Allows an Object reference of a given class type
to be stored in nodes implementing the named element. The
value of the Object is unconstrained other than by
its class type.
If an Object reference was previously allowed,
the previous settings are overwritten.
Parameters: elementName - the name of the element. Parameters: classType - a Class variable indicating thelegal class type for the object value. Parameters: required - true if an object value must be present. Parameters: defaultValue - the default value for theObject reference, or null . exception: IllegalArgumentException - if elementName is null , or is not a legal element name for this format. |
addObjectValue | protected void addObjectValue(String elementName, Class<T> classType, boolean required, T defaultValue, List<? extends T> enumeratedValues)(Code) | | Allows an Object reference of a given class type
to be stored in nodes implementing the named element. The
value of the Object must be one of the values
given by enumeratedValues .
If an Object reference was previously allowed,
the previous settings are overwritten.
Parameters: elementName - the name of the element. Parameters: classType - a Class variable indicating thelegal class type for the object value. Parameters: required - true if an object value must be present. Parameters: defaultValue - the default value for theObject reference, or null . Parameters: enumeratedValues - a List ofObject s containing the legal values for theobject reference. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for this format. exception: IllegalArgumentException - ifenumeratedValues is null . exception: IllegalArgumentException - ifenumeratedValues does not contain at least oneentry. exception: IllegalArgumentException - ifenumeratedValues contains an element that is notan instance of the class type denoted by classType or is null . |
addObjectValue | protected void addObjectValue(String elementName, Class<T> classType, T defaultValue, Comparable<? super T> minValue, Comparable<? super T> maxValue, boolean minInclusive, boolean maxInclusive)(Code) | | Allows an Object reference of a given class type
to be stored in nodes implementing the named element. The
value of the Object must be within the range given
by minValue and maxValue .
Furthermore, the class type must implement the
Comparable interface.
If an Object reference was previously allowed,
the previous settings are overwritten.
Parameters: elementName - the name of the element. Parameters: classType - a Class variable indicating thelegal class type for the object value. Parameters: defaultValue - the default value for the Parameters: minValue - the smallest (inclusive or exclusive dependingon the value of minInclusive ) legal value for theobject value, as a String . Parameters: maxValue - the largest (inclusive or exclusive dependingon the value of minInclusive ) legal value for theobject value, as a String . Parameters: minInclusive - true if minValue is inclusive. Parameters: maxInclusive - true if maxValue is inclusive. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for thisformat. |
addObjectValue | protected void addObjectValue(String elementName, Class> classType, int arrayMinLength, int arrayMaxLength)(Code) | | Allows an Object reference of a given class type
to be stored in nodes implementing the named element. The
value of the Object must an array of objects of
class type given by classType , with at least
arrayMinLength and at most
arrayMaxLength elements.
If an Object reference was previously allowed,
the previous settings are overwritten.
Parameters: elementName - the name of the element. Parameters: classType - a Class variable indicating thelegal class type for the object value. Parameters: arrayMinLength - the smallest legal length for the array. Parameters: arrayMaxLength - the largest legal length for the array. exception: IllegalArgumentException - if elementName isnot a legal element name for this format. |
getAttributeDataType | public int getAttributeDataType(String elementName, String attrName)(Code) | | |
getAttributeDescription | public String getAttributeDescription(String elementName, String attrName, Locale locale)(Code) | | Returns a String containing a description of the
named attribute, or null . The desciption will be
localized for the supplied Locale if possible.
The default implementation will first locate a
ResourceBundle using the current resource base
name set by setResourceBaseName and the supplied
Locale , using the fallback mechanism described in
the comments for ResourceBundle.getBundle . If a
ResourceBundle is found, the element name followed
by a "/" character followed by the attribute name
(elementName + "/" + attrName ) will be used as a
key to its getString method, and the result
returned. If no ResourceBundle is found, or no
such key is present, null will be returned.
If locale is null , the current
default Locale returned by Locale.getLocale
will be used.
Parameters: elementName - the name of the element. Parameters: attrName - the name of the attribute. Parameters: locale - the Locale for which localizationwill be attempted, or null . the attribute description. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for this format. exception: IllegalArgumentException - if attrName isnull or is not a legal attribute name for thiselement. See Also: IIOMetadataFormatImpl.setResourceBaseName |
getAttributeListMaxLength | public int getAttributeListMaxLength(String elementName, String attrName)(Code) | | |
getAttributeListMinLength | public int getAttributeListMinLength(String elementName, String attrName)(Code) | | |
getAttributeValueType | public int getAttributeValueType(String elementName, String attrName)(Code) | | |
getChildPolicy | public int getChildPolicy(String elementName)(Code) | | |
getElementDescription | public String getElementDescription(String elementName, Locale locale)(Code) | | Returns a String containing a description of the
named element, or null . The desciption will be
localized for the supplied Locale if possible.
The default implementation will first locate a
ResourceBundle using the current resource base
name set by setResourceBaseName and the supplied
Locale , using the fallback mechanism described in
the comments for ResourceBundle.getBundle . If a
ResourceBundle is found, the element name will be
used as a key to its getString method, and the
result returned. If no ResourceBundle is found,
or no such key is present, null will be returned.
If locale is null , the current
default Locale returned by Locale.getLocale
will be used.
Parameters: elementName - the name of the element. Parameters: locale - the Locale for which localizationwill be attempted. the element description. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for this format. See Also: IIOMetadataFormatImpl.setResourceBaseName |
getElementMaxChildren | public int getElementMaxChildren(String elementName)(Code) | | |
getElementMinChildren | public int getElementMinChildren(String elementName)(Code) | | |
getObjectArrayMaxLength | public int getObjectArrayMaxLength(String elementName)(Code) | | |
getObjectArrayMinLength | public int getObjectArrayMinLength(String elementName)(Code) | | |
getObjectValueType | public int getObjectValueType(String elementName)(Code) | | |
getStandardFormatInstance | public static IIOMetadataFormat getStandardFormatInstance()(Code) | | Returns an IIOMetadataFormat object describing the
standard, plug-in neutral javax.imageio_1.0
metadata document format described in the comment of the
javax.imageio.metadata package.
a predefined IIOMetadataFormat instance. |
isAttributeRequired | public boolean isAttributeRequired(String elementName, String attrName)(Code) | | |
removeAttribute | protected void removeAttribute(String elementName, String attrName)(Code) | | 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. Parameters: attrName - the name of the attribute being removed. exception: IllegalArgumentException - if elementName is null , or is not a legal element name for this format. |
removeElement | protected void removeElement(String elementName)(Code) | | 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. |
removeObjectValue | protected void removeObjectValue(String elementName)(Code) | | Disallows an Object reference from being stored in
nodes implementing the named element.
Parameters: elementName - the name of the element. exception: IllegalArgumentException - if elementName isnot a legal element name for this format. |
setResourceBaseName | protected void setResourceBaseName(String resourceBaseName)(Code) | | Sets a new base name for locating ResourceBundle s
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 - a String containg the newbase name. exception: IllegalArgumentException - ifresourceBaseName is null . See Also: IIOMetadataFormatImpl.getResourceBaseName |
|
|