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: 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 IIOMetadataControllercontroller
protected IIOMetadataControllerdefaultController
protected String[]extraMetadataFormatClassNames
protected String[]extraMetadataFormatNames
protected StringnativeMetadataFormatClassName
protected StringnativeMetadataFormatName
protected booleanstandardFormatSupported
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
booleanactivateController()
abstract NodegetAsTree(String formatName)
IIOMetadataControllergetController()
IIOMetadataControllergetDefaultController()
String[]getExtraMetadataFormatNames()
IIOMetadataFormatgetMetadataFormat(String formatName)
String[]getMetadataFormatNames()
StringgetNativeMetadataFormatName()
protected IIOMetadataNodegetStandardChromaNode()
protected IIOMetadataNodegetStandardCompressionNode()
protected IIOMetadataNodegetStandardDataNode()
protected IIOMetadataNodegetStandardDimensionNode()
protected IIOMetadataNodegetStandardDocumentNode()
protected IIOMetadataNodegetStandardTextNode()
protected IIOMetadataNodegetStandardTileNode()
protected IIOMetadataNodegetStandardTransparencyNode()
protected IIOMetadataNodegetStandardTree()
booleanhasController()
abstract booleanisReadOnly()
booleanisStandardMetadataFormatSupported()
abstract voidmergeTree(String formatName, Node root)
abstract voidreset()
voidsetController(IIOMetadataController controller)
voidsetFromTree(String formatName, Node root)

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()

getAsTree

public abstract Node getAsTree(String formatName)

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()

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()

hasController

public boolean hasController()

isReadOnly

public abstract boolean isReadOnly()

isStandardMetadataFormatSupported

public boolean isStandardMetadataFormatSupported()

mergeTree

public abstract void mergeTree(String formatName, Node root)

reset

public abstract void reset()

setController

public void setController(IIOMetadataController controller)

setFromTree

public void setFromTree(String formatName, Node root)