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 Directoryifdprivate Directoryoriginal(package private) static intRATIONAL_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.IIOMetadataNodeaddChildNode(javax.imageio.metadata.IIOMetadataNode parent, java.lang.String name, java.lang.Object object)private voidaddTextEntryIfPresent(javax.imageio.metadata.IIOMetadataNode text, int tag)private javax.imageio.metadata.IIOMetadataNodeasTree(Directory ifd)private java.lang.ObjectcreateArrayForType(short type, int length)private java.lang.StringcreateListValue(int itemCount, java.lang.String... values)private java.lang.StringgetAttribute(org.w3c.dom.Node node, java.lang.String attribute)private intgetCompression()(package private) DirectorygetIFD()private java.lang.StringgetMetadataArrayType(Entry tag)private java.lang.StringgetMetadataType(Entry tag)protected javax.imageio.metadata.IIOMetadataNodegetNativeTree()Default implementation that throwsUnsupportedOperationException.private intgetPhotometricInterpretationWithFallback()private intgetSamplesPerPixelWithFallback()protected javax.imageio.metadata.IIOMetadataNodegetStandardChromaNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardCompressionNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardDataNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardDimensionNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardDocumentNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardTextNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardTileNode()protected javax.imageio.metadata.IIOMetadataNodegetStandardTransparencyNode()EntrygetTIFFField(int tagNumber)Returns an Entry which contains the data of the requested TIFF field.private shortgetTIFFType(org.w3c.dom.Node node)private java.lang.ObjectgetValue(org.w3c.dom.Node node, short type)private static intgetValueAsInt(Entry entry)booleanisReadOnly()Default implementation returnstrue.private booleanisSignedType(Entry tag)private voidmergeEntries(java.lang.String formatName, org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)private voidmergeFromStandardDimensionNode(org.w3c.dom.Node dimensionNode, java.util.Map<java.lang.Integer,Entry> entries)private voidmergeFromStandardDocumentNode(org.w3c.dom.Node documentNode, java.util.Map<java.lang.Integer,Entry> entries)private voidmergeFromStandardTextNode(org.w3c.dom.Node textNode, java.util.Map<java.lang.Integer,Entry> entries)private voidmergeNativeTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)private voidmergeStandardTree(org.w3c.dom.Node root, java.util.Map<java.lang.Integer,Entry> entries)voidmergeTree(java.lang.String formatName, org.w3c.dom.Node root)voidreset()voidsetFromTree(java.lang.String formatName, org.w3c.dom.Node root)private voidsetTIFFNativeValue(java.lang.Object value, boolean unsigned, javax.imageio.metadata.IIOMetadataNode elementNode)private EntrytoEntry(org.w3c.dom.Node node)private DirectorytoIFD(org.w3c.dom.Node ifdNode)private java.lang.IntegertoTIFFOrientation(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:AbstractMetadataDefault implementation that throwsUnsupportedOperationException. Subclasses that supports formats other than standard metadata should override this method.- Overrides:
getNativeTreein 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:
getStandardChromaNodein classjavax.imageio.metadata.IIOMetadata
-
getPhotometricInterpretationWithFallback
private int getPhotometricInterpretationWithFallback()
-
getSamplesPerPixelWithFallback
private int getSamplesPerPixelWithFallback()
-
getCompression
private int getCompression()
-
getStandardCompressionNode
protected javax.imageio.metadata.IIOMetadataNode getStandardCompressionNode()
- Overrides:
getStandardCompressionNodein classjavax.imageio.metadata.IIOMetadata
-
getStandardDataNode
protected javax.imageio.metadata.IIOMetadataNode getStandardDataNode()
- Overrides:
getStandardDataNodein 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:
getStandardDimensionNodein classjavax.imageio.metadata.IIOMetadata
-
getStandardTransparencyNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTransparencyNode()
- Overrides:
getStandardTransparencyNodein classjavax.imageio.metadata.IIOMetadata
-
getStandardDocumentNode
protected javax.imageio.metadata.IIOMetadataNode getStandardDocumentNode()
- Overrides:
getStandardDocumentNodein classjavax.imageio.metadata.IIOMetadata
-
getStandardTextNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTextNode()
- Overrides:
getStandardTextNodein classjavax.imageio.metadata.IIOMetadata
-
addTextEntryIfPresent
private void addTextEntryIfPresent(javax.imageio.metadata.IIOMetadataNode text, int tag)
-
getStandardTileNode
protected javax.imageio.metadata.IIOMetadataNode getStandardTileNode()
- Overrides:
getStandardTileNodein classjavax.imageio.metadata.IIOMetadata
-
isReadOnly
public boolean isReadOnly()
Description copied from class:AbstractMetadataDefault implementation returnstrue. Mutable subclasses should override this method.- Overrides:
isReadOnlyin classAbstractMetadata- Returns:
true.
-
setFromTree
public void setFromTree(java.lang.String formatName, org.w3c.dom.Node root) throws javax.imageio.metadata.IIOInvalidTreeException- Overrides:
setFromTreein 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:
mergeTreein 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:
resetin 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.
-
-