public class ExifTiffHandler extends DirectoryTiffHandler
TiffHandler
used for handling TIFF tags according to the Exif
standard.
Includes support for camera manufacturer makernotes.
_currentDirectory, _metadata
Constructor and Description |
---|
ExifTiffHandler(Metadata metadata,
Directory parentDirectory) |
Modifier and Type | Method and Description |
---|---|
boolean |
customProcessTag(int tagOffset,
java.util.Set<java.lang.Integer> processedIfdOffsets,
int tiffHeaderOffset,
RandomAccessReader reader,
int tagId,
int byteCount) |
private static java.lang.Boolean |
HandlePrintIM(Directory directory,
int tagId) |
boolean |
hasFollowerIfd() |
private static void |
ProcessBinary(Directory directory,
int tagValueOffset,
RandomAccessReader reader,
int byteCount,
java.lang.Boolean issigned,
int arrayLength) |
private static void |
processKodakMakernote(KodakMakernoteDirectory directory,
int tagValueOffset,
RandomAccessReader reader) |
private boolean |
processMakernote(int makernoteOffset,
java.util.Set<java.lang.Integer> processedIfdOffsets,
int tiffHeaderOffset,
RandomAccessReader reader) |
private static void |
ProcessPrintIM(PrintIMDirectory directory,
int tagValueOffset,
RandomAccessReader reader,
int byteCount) |
private static void |
processReconyxHyperFireMakernote(ReconyxHyperFireMakernoteDirectory directory,
int makernoteOffset,
RandomAccessReader reader) |
private static void |
processReconyxUltraFireMakernote(ReconyxUltraFireMakernoteDirectory directory,
int makernoteOffset,
RandomAccessReader reader) |
void |
setTiffMarker(int marker)
Receives the 2-byte marker found in the TIFF header.
|
java.lang.Long |
tryCustomProcessFormat(int tagId,
int formatCode,
long componentCount) |
boolean |
tryEnterSubIfd(int tagId) |
endingIFD, error, pushDirectory, setByteArray, setDouble, setDoubleArray, setFloat, setFloatArray, setInt16s, setInt16sArray, setInt16u, setInt16uArray, setInt32s, setInt32sArray, setInt32u, setInt32uArray, setInt8s, setInt8sArray, setInt8u, setInt8uArray, setRational, setRationalArray, setString, warn
public void setTiffMarker(int marker) throws TiffProcessingException
TiffHandler
Implementations are not obligated to use this information for any purpose, though it may be useful for validation or perhaps differentiating the type of mapping to use for observed tags and IFDs.
marker
- the 2-byte value found at position 2 of the TIFF headerTiffProcessingException
public boolean tryEnterSubIfd(int tagId)
public boolean hasFollowerIfd()
public java.lang.Long tryCustomProcessFormat(int tagId, int formatCode, long componentCount)
public boolean customProcessTag(int tagOffset, java.util.Set<java.lang.Integer> processedIfdOffsets, int tiffHeaderOffset, RandomAccessReader reader, int tagId, int byteCount) throws java.io.IOException
java.io.IOException
private static void ProcessBinary(Directory directory, int tagValueOffset, RandomAccessReader reader, int byteCount, java.lang.Boolean issigned, int arrayLength) throws java.io.IOException
java.io.IOException
private boolean processMakernote(int makernoteOffset, java.util.Set<java.lang.Integer> processedIfdOffsets, int tiffHeaderOffset, RandomAccessReader reader) throws java.io.IOException
java.io.IOException
private static java.lang.Boolean HandlePrintIM(Directory directory, int tagId)
private static void ProcessPrintIM(PrintIMDirectory directory, int tagValueOffset, RandomAccessReader reader, int byteCount) throws java.io.IOException
java.io.IOException
private static void processKodakMakernote(KodakMakernoteDirectory directory, int tagValueOffset, RandomAccessReader reader)
private static void processReconyxHyperFireMakernote(ReconyxHyperFireMakernoteDirectory directory, int makernoteOffset, RandomAccessReader reader) throws java.io.IOException
java.io.IOException
private static void processReconyxUltraFireMakernote(ReconyxUltraFireMakernoteDirectory directory, int makernoteOffset, RandomAccessReader reader) throws java.io.IOException
java.io.IOException