Class TIFFReader
java.lang.Object
com.twelvemonkeys.imageio.metadata.MetadataReader
com.twelvemonkeys.imageio.metadata.tiff.TIFFReader
TIFFReader
- Version:
- $Id: TIFFReader.java,v 1.0 Nov 13, 2009 5:42:51 PM haraldk Exp$
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescription(package private) static final boolean
private long
private boolean
private int
private static final Map
<Integer, Collection<Integer>> private static final Collection
<Integer> -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate int
assertIntCount
(long count) private static Rational
createSafeRational
(long numerator, long denominator) private static Map
<Integer, Collection<Integer>> private long[]
getPointerOffsets
(Entry entry) private boolean
isValidLengthAtOffset
(ImageInputStream input, long offset, long valueLength) private boolean
isValidOffset
(ImageInputStream input, long pos) private boolean
isValidType
(short type) static void
read
(ImageInputStream input) private TIFFEntry
readEntry
(ImageInputStream pInput) private long
readEntryCount
(ImageInputStream pInput) private IFD
readIFD
(ImageInputStream pInput, long pOffset, Collection<Integer> subIFDIds) private TIFFDirectory
readLinkedIFDs
(ImageInputStream input) private long
readOffset
(ImageInputStream input) private void
readSubIFDs
(ImageInputStream input, List<TIFFEntry> entries, Collection<Integer> subIFDIds) private static Object
readValue
(ImageInputStream pInput, short pType, int pCount, boolean bigTIFF) private Object
readValueAt
(ImageInputStream input, long offset, long length, short type, int count) private int
readValueCount
(ImageInputStream pInput) private Object
readValueInLine
(ImageInputStream pInput, short pType, int pCount)
-
Field Details
-
DEBUG
static final boolean DEBUG -
VALID_TOP_LEVEL_IFDS
-
VALID_SUB_IFDS
-
parsedIFDs
-
inputLength
private long inputLength -
longOffsets
private boolean longOffsets -
offsetSize
private int offsetSize
-
-
Constructor Details
-
TIFFReader
public TIFFReader()
-
-
Method Details
-
createSubIFDMap
-
read
- Specified by:
read
in classMetadataReader
- Throws:
IOException
-
readLinkedIFDs
- Throws:
IOException
-
readOffset
- Throws:
IOException
-
readIFD
private IFD readIFD(ImageInputStream pInput, long pOffset, Collection<Integer> subIFDIds) throws IOException - Throws:
IOException
-
readEntryCount
- Throws:
IOException
-
readSubIFDs
private void readSubIFDs(ImageInputStream input, List<TIFFEntry> entries, Collection<Integer> subIFDIds) throws IOException - Throws:
IOException
-
getPointerOffsets
- Throws:
IIOException
-
readEntry
- Throws:
IOException
-
isValidType
private boolean isValidType(short type) -
readValueCount
- Throws:
IOException
-
assertIntCount
- Throws:
IOException
-
isValidOffset
- Throws:
IOException
-
isValidLengthAtOffset
private boolean isValidLengthAtOffset(ImageInputStream input, long offset, long valueLength) throws IOException - Throws:
IOException
-
readValueAt
private Object readValueAt(ImageInputStream input, long offset, long length, short type, int count) throws IOException - Throws:
IOException
-
readValueInLine
- Throws:
IOException
-
readValue
private static Object readValue(ImageInputStream pInput, short pType, int pCount, boolean bigTIFF) throws IOException - Throws:
IOException
-
createSafeRational
-
main
- Throws:
IOException
-