An abstract class to be extended by objects that represent metadata
(non-image data) associated with images and streams. Plug-ins
represent metadata using opaque, plug-in specific objects. These
objects, however, provide the ability to access their internal
information as a tree of
IIOMetadataNode
objects that
support the XML DOM interfaces as well as additional interfaces for
storing non-textual data and retrieving information about legal
data values. The format of such trees is plug-in dependent, but
plug-ins may choose to support a plug-in neutral format described
below. A single plug-in may support multiple metadata formats,
whose names maybe determined by calling
getMetadataFormatNames
. The plug-in may also support
a single special format, referred to as the "native" format, which
is designed to encode its metadata losslessly. This format will
typically be designed specifically to work with a specific file
format, so that images may be loaded and saved in the same format
with no loss of metadata, but may be less useful for transfering
metadata between an
ImageReader
and an
ImageWriter
for different image formats. To convert
between two native formats as losslessly as the image file formats
will allow, an
ImageTranscoder
object must be used.