Class TIFFImageMetadata
- java.lang.Object
-
- javax.imageio.metadata.IIOMetadata
-
- com.twelvemonkeys.imageio.AbstractMetadata
-
- com.twelvemonkeys.imageio.plugins.tiff.TIFFImageMetadata
-
- All Implemented Interfaces:
java.lang.Cloneable
public final class TIFFImageMetadata extends AbstractMetadata
TIFFImageMetadata.- Version:
- $Id: TIFFImageMetadata.java,v 1.0 17/04/15 harald.kuhr Exp$
-
-
Field Summary
Fields Modifier and Type Field Description private Directory
ifd
private Directory
original
(package private) static int
RATIONAL_SCALE_FACTOR
-
Constructor Summary
Constructors Constructor Description TIFFImageMetadata()
Creates an empty TIFF metadata object.TIFFImageMetadata(Directory ifd)
Creates a TIFF metadata object, using the values from the given IFD.TIFFImageMetadata(java.util.Collection<? extends Entry> entries)
Creates a TIFF metadata object, using the values from the given entries.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private javax.imageio.metadata.IIOMetadataNode
addChildNode(javax.imageio.metadata.IIOMetadataNode parent, java.lang.String name, java.lang.Object object)
private void
addTextEntryIfPresent(javax.imageio.metadata.IIOMetadataNode text, int tag)
private javax.imageio.metadata.IIOMetadataNode
asTree(Directory ifd)
private java.lang.Object
createArrayForType(short type, int length)
private java.lang.String
createListValue(int itemCount, java.lang.String... values)
private java.lang.String
getAttribute(org.w3c.dom.Node node, java.lang.String attribute)
private int
getCompression()
(package private) Directory
getIFD()
private java.lang.String
getMetadataArrayType(Entry tag)
private java.lang.String
getMetadataType(Entry tag)
protected javax.imageio.metadata.IIOMetadataNode
getNativeTree()
Default implementation that throwsUnsupportedOperationException
.private int
getPhotometricInterpretationWithFallback()
private int
getSamplesPerPixelWithFallback()
protected javax.imageio.metadata.IIOMetadataNode
getStandardChromaNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardCompressionNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardDataNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardDimensionNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardDocumentNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardTextNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardTileNode()
protected javax.imageio.metadata.IIOMetadataNode
getStandardTransparencyNode()
Entry
getTIFFField(int tagNumber)
Returns an Entry which contains the data of the requested TIFF field.private short
getTIFFType(org.w3c.dom.Node node)
private java.lang.Object
getValue(org.w3c.dom.Node node, short type)
private static int
getValueAsInt(Entry entry)
boolean
isReadOnly()
Default implementation returnstrue
.private boolean
isSignedType(Entry tag)
private void
mergeEntries(java.lang.String formatName, org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)
private void
mergeFromStandardDimensionNode(org.w3c.dom.Node dimensionNode, java.util.Map<java.lang.Integer,Entry> entries)
private void
mergeFromStandardDocumentNode(org.w3c.dom.Node documentNode, java.util.Map<java.lang.Integer,Entry> entries)
private void
mergeFromStandardTextNode(org.w3c.dom.Node textNode, java.util.Map<java.lang.Integer,Entry> entries)
private void
mergeNativeTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)
private void
mergeStandardTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)
void
mergeTree(java.lang.String formatName, org.w3c.dom.Node root)
void
reset()
void
setFromTree(java.lang.String formatName, org.w3c.dom.Node root)
private void
setTIFFNativeValue(java.lang.Object value, boolean unsigned, javax.imageio.metadata.IIOMetadataNode elementNode)
private Entry
toEntry(org.w3c.dom.Node node)
private Directory
toIFD(org.w3c.dom.Node ifdNode)
private java.lang.Integer
toTIFFOrientation(java.lang.String imageOrientation)
-
Methods inherited from class com.twelvemonkeys.imageio.AbstractMetadata
assertMutable, getAsTree, toListString, validateFormatName
-
Methods inherited from class javax.imageio.metadata.IIOMetadata
activateController, getController, getDefaultController, getExtraMetadataFormatNames, getMetadataFormat, getMetadataFormatNames, getNativeMetadataFormatName, getStandardTree, hasController, isStandardMetadataFormatSupported, setController
-
-
-
-
Field Detail
-
RATIONAL_SCALE_FACTOR
static final int RATIONAL_SCALE_FACTOR
- See Also:
- Constant Field Values
-
original
private final Directory original
-
ifd
private Directory ifd
-
-
Constructor Detail
-
TIFFImageMetadata
public TIFFImageMetadata()
Creates an empty TIFF metadata object. Client code can update or change the metadata using thesetFromTree(String, Node)
ormergeTree(String, Node)
methods.
-
TIFFImageMetadata
public TIFFImageMetadata(Directory ifd)
Creates a TIFF metadata object, using the values from the given IFD. Client code can update or change the metadata using thesetFromTree(String, Node)
ormergeTree(String, Node)
methods.
-
TIFFImageMetadata
public TIFFImageMetadata(java.util.Collection<? extends Entry> entries)
Creates a TIFF metadata object, using the values from the given entries. Client code can update or change the metadata using thesetFromTree(String, Node)
ormergeTree(String, Node)
methods.
-
-
Method Detail
-
getNativeTree
protected javax.imageio.metadata.IIOMetadataNode getNativeTree()
Description copied from class:AbstractMetadata
Default implementation that throwsUnsupportedOperationException
. Subclasses that supports formats other than standard metadata should override this method.- Overrides:
getNativeTree
in classAbstractMetadata
-
asTree
private javax.imageio.metadata.IIOMetadataNode asTree(Directory ifd)
-
setTIFFNativeValue
private void setTIFFNativeValue(java.lang.Object value, boolean unsigned, javax.imageio.metadata.IIOMetadataNode elementNode)
-
isSignedType
private boolean isSignedType(Entry tag)
-
getMetadataArrayType
private java.lang.String getMetadataArrayType(Entry tag)
-
getMetadataType
private java.lang.String getMetadataType(Entry tag)
-
addChildNode
private javax.imageio.metadata.IIOMetadataNode addChildNode(javax.imageio.metadata.IIOMetadataNode parent, java.lang.String name, java.lang.Object object)
-
getStandardChromaNode
protected javax.imageio.metadata.IIOMetadataNode getStandardChromaNode()
- Overrides:
getStandardChromaNode
in classjavax.imageio.metadata.IIOMetadata
-
getPhotometricInterpretationWithFallback
private int getPhotometricInterpretationWithFallback()
-
getSamplesPerPixelWithFallback
private int getSamplesPerPixelWithFallback()
-
getCompression
private int getCompression()
-
getStandardCompressionNode
protected javax.imageio.metadata.IIOMetadataNode getStandardCompressionNode()
- Overrides:
getStandardCompressionNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardDataNode
protected javax.imageio.metadata.IIOMetadataNode getStandardDataNode()
- Overrides:
getStandardDataNode
in classjavax.imageio.metadata.IIOMetadata
-
getValueAsInt
private static int getValueAsInt(Entry entry)
-
createListValue
private java.lang.String createListValue(int itemCount, java.lang.String... values)
-
getStandardDimensionNode
protected javax.imageio.metadata.IIOMetadataNode getStandardDimensionNode()
- Overrides:
getStandardDimensionNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardTransparencyNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTransparencyNode()
- Overrides:
getStandardTransparencyNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardDocumentNode
protected javax.imageio.metadata.IIOMetadataNode getStandardDocumentNode()
- Overrides:
getStandardDocumentNode
in classjavax.imageio.metadata.IIOMetadata
-
getStandardTextNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTextNode()
- Overrides:
getStandardTextNode
in classjavax.imageio.metadata.IIOMetadata
-
addTextEntryIfPresent
private void addTextEntryIfPresent(javax.imageio.metadata.IIOMetadataNode text, int tag)
-
getStandardTileNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTileNode()
- Overrides:
getStandardTileNode
in classjavax.imageio.metadata.IIOMetadata
-
isReadOnly
public boolean isReadOnly()
Description copied from class:AbstractMetadata
Default implementation returnstrue
. Mutable subclasses should override this method.- Overrides:
isReadOnly
in classAbstractMetadata
- Returns:
true
.
-
setFromTree
public void setFromTree(java.lang.String formatName, org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException
- Overrides:
setFromTree
in classjavax.imageio.metadata.IIOMetadata
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeTree
public void mergeTree(java.lang.String formatName, org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException
- Overrides:
mergeTree
in classAbstractMetadata
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeEntries
private void mergeEntries(java.lang.String formatName, org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeStandardTree
private void mergeStandardTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeFromStandardDimensionNode
private void mergeFromStandardDimensionNode(org.w3c.dom.Node dimensionNode, java.util.Map<java.lang.Integer,Entry> entries)
-
mergeFromStandardDocumentNode
private void mergeFromStandardDocumentNode(org.w3c.dom.Node documentNode, java.util.Map<java.lang.Integer,Entry> entries)
-
mergeFromStandardTextNode
private void mergeFromStandardTextNode(org.w3c.dom.Node textNode, java.util.Map<java.lang.Integer,Entry> entries) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
mergeNativeTree
private void mergeNativeTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
toIFD
private Directory toIFD(org.w3c.dom.Node ifdNode) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
toEntry
private Entry toEntry(org.w3c.dom.Node node) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
toTIFFOrientation
private java.lang.Integer toTIFFOrientation(java.lang.String imageOrientation)
-
getTIFFType
private short getTIFFType(org.w3c.dom.Node node) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
getValue
private java.lang.Object getValue(org.w3c.dom.Node node, short type) throws javax.imageio.metadata.IIOInvalidTreeException
- Throws:
javax.imageio.metadata.IIOInvalidTreeException
-
createArrayForType
private java.lang.Object createArrayForType(short type, int length)
-
getAttribute
private java.lang.String getAttribute(org.w3c.dom.Node node, java.lang.String attribute)
-
reset
public void reset()
- Overrides:
reset
in classAbstractMetadata
-
getIFD
Directory getIFD()
-
getTIFFField
public Entry getTIFFField(int tagNumber)
Returns an Entry which contains the data of the requested TIFF field.- Parameters:
tagNumber
- Tag number of the TIFF field.- Returns:
- the TIFF field, or null.
-
-