javax.imageio.metadata
Class IIOMetadata
public abstract
class
IIOMetadata
extends Object
Represents metadata that describe an image or an image stream.
Each ImageIO plugin will represent image data using an opaque
object but all such objects should expose their internal
information as a tree of IIOMetadataNodes.
There are three formats of metadata that a plugin can support:
- a "native" format
- a custom format
- a standard plugin-neutral format
If a plugin supports more than one format of metadata, the other
formats can be retrieved by calling getMetadataFormatNames.
The native format is used to transfer metadata from one image to
another image of the same type, losslessly.
The custom format describes the image metadata and exposes a tree
of IIOMetadataNodes but its internal representation is specific to
this plugin.
The plugin-neutral format uses a generic tree structure as its
internal representation.
ImageTranscoders may be used to convert metadata understood by one
plugin to metadata understood by another, however the conversion
may be lossy.
Constructor Summary |
protected | IIOMetadata()
Construct an IIOMetadata object. |
protected | IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
Construct an IIOMetadata object.
|
protected String[] extraMetadataFormatClassNames
protected String[] extraMetadataFormatNames
protected String nativeMetadataFormatClassName
protected String nativeMetadataFormatName
protected boolean standardFormatSupported
protected IIOMetadata()
Construct an IIOMetadata object.
protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
Construct an IIOMetadata object.
Parameters: standardMetadataFormatSupported nativeMetadataFormatName nativeMetadataFormatClassName extraMetadataFormatNames extraMetadataFormatClassNames
Throws: IllegalArgumentException if extraMetadataFormatNames has length of
zero or extraMetadataFormatNames and extraMetadataFormatClassNames are
neither both null, not have the same length
public boolean activateController()
public abstract Node getAsTree(String formatName)
public String[] getExtraMetadataFormatNames()
public String[] getMetadataFormatNames()
public String getNativeMetadataFormatName()
public boolean hasController()
public abstract boolean isReadOnly()
public boolean isStandardMetadataFormatSupported()
public abstract void mergeTree(String formatName, Node root)
public abstract void reset()
public void setFromTree(String formatName, Node root)