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 ResourceBundle#getBundle(String,Locale)