javax.imageio.metadata
Class IIOMetadata

java.lang.Object
  extended by javax.imageio.metadata.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:

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.


Field Summary
protected  IIOMetadataController controller
           
protected  IIOMetadataController defaultController
           
protected  String[] extraMetadataFormatClassNames
           
protected  String[] extraMetadataFormatNames
           
protected  String nativeMetadataFormatClassName
           
protected  String nativeMetadataFormatName
           
protected  boolean standardFormatSupported
           
 
Constructor Summary
protected IIOMetadata()
          Construct an IIOMetadata object.
protected IIOMetadata(boolean standardMetadataFormatSupported, String nativeMetadataFormatName, String nativeMetadataFormatClassName, String[] extraMetadataFormatNames, String[] extraMetadataFormatClassNames)
          Construct an IIOMetadata object.
 
Method Summary
 boolean activateController()
           
abstract  Node getAsTree(String formatName)
           
 IIOMetadataController getController()
           
 IIOMetadataController getDefaultController()
           
 String[] getExtraMetadataFormatNames()
           
 IIOMetadataFormat getMetadataFormat(String formatName)
           
 String[] getMetadataFormatNames()
           
 String getNativeMetadataFormatName()
           
protected  IIOMetadataNode getStandardChromaNode()
           
protected  IIOMetadataNode getStandardCompressionNode()
           
protected  IIOMetadataNode getStandardDataNode()
           
protected  IIOMetadataNode getStandardDimensionNode()
           
protected  IIOMetadataNode getStandardDocumentNode()
           
protected  IIOMetadataNode getStandardTextNode()
           
protected  IIOMetadataNode getStandardTileNode()
           
protected  IIOMetadataNode getStandardTransparencyNode()
           
protected  IIOMetadataNode getStandardTree()
           
 boolean hasController()
           
abstract  boolean isReadOnly()
           
 boolean isStandardMetadataFormatSupported()
           
abstract  void mergeTree(String formatName, Node root)
           
abstract  void reset()
           
 void setController(IIOMetadataController controller)
           
 void setFromTree(String formatName, Node root)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

controller

protected IIOMetadataController controller

defaultController

protected IIOMetadataController defaultController

extraMetadataFormatClassNames

protected String[] extraMetadataFormatClassNames

extraMetadataFormatNames

protected String[] extraMetadataFormatNames

nativeMetadataFormatClassName

protected String nativeMetadataFormatClassName

nativeMetadataFormatName

protected String nativeMetadataFormatName

standardFormatSupported

protected boolean standardFormatSupported
Constructor Detail

IIOMetadata

protected IIOMetadata()
Construct an IIOMetadata object.


IIOMetadata

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
Method Detail

activateController

public boolean activateController()

getController

public IIOMetadataController getController()

getDefaultController

public IIOMetadataController getDefaultController()

getExtraMetadataFormatNames

public String[] getExtraMetadataFormatNames()

getMetadataFormat

public IIOMetadataFormat getMetadataFormat(String formatName)

getMetadataFormatNames

public String[] getMetadataFormatNames()

getNativeMetadataFormatName

public String getNativeMetadataFormatName()

hasController

public boolean hasController()

isReadOnly

public abstract boolean isReadOnly()

isStandardMetadataFormatSupported

public boolean isStandardMetadataFormatSupported()

reset

public abstract void reset()

setController

public void setController(IIOMetadataController controller)

getAsTree

public abstract Node getAsTree(String formatName)

getStandardChromaNode

protected IIOMetadataNode getStandardChromaNode()

getStandardCompressionNode

protected IIOMetadataNode getStandardCompressionNode()

getStandardDataNode

protected IIOMetadataNode getStandardDataNode()

getStandardDimensionNode

protected IIOMetadataNode getStandardDimensionNode()

getStandardDocumentNode

protected IIOMetadataNode getStandardDocumentNode()

getStandardTextNode

protected IIOMetadataNode getStandardTextNode()

getStandardTileNode

protected IIOMetadataNode getStandardTileNode()

getStandardTransparencyNode

protected IIOMetadataNode getStandardTransparencyNode()

getStandardTree

protected final IIOMetadataNode getStandardTree()

mergeTree

public abstract void mergeTree(String formatName,
                               Node root)
                        throws IIOInvalidTreeException
Throws:
IIOInvalidTreeException

setFromTree

public void setFromTree(String formatName,
                        Node root)
                 throws IIOInvalidTreeException
Throws:
IIOInvalidTreeException