Class ExifTiffHandler

  • All Implemented Interfaces:
    TiffHandler
    Direct Known Subclasses:
    PhotoshopTiffHandler

    public class ExifTiffHandler
    extends com.drew.metadata.tiff.DirectoryTiffHandler
    Implementation of TiffHandler used for handling TIFF tags according to the Exif standard.

    Includes support for camera manufacturer makernotes.

    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean customProcessTag​(int tagOffset, java.util.Set<java.lang.Integer> processedIfdOffsets, int tiffHeaderOffset, RandomAccessReader reader, int tagId, int byteCount)  
      boolean hasFollowerIfd()  
      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)  
      • Methods inherited from class com.drew.metadata.tiff.DirectoryTiffHandler

        endingIFD, error, setByteArray, setDouble, setDoubleArray, setFloat, setFloatArray, setInt16s, setInt16sArray, setInt16u, setInt16uArray, setInt32s, setInt32sArray, setInt32u, setInt32uArray, setInt8s, setInt8sArray, setInt8u, setInt8uArray, setRational, setRationalArray, setString, warn
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExifTiffHandler

        public ExifTiffHandler​(Metadata metadata,
                               Directory parentDirectory)
    • Method Detail

      • setTiffMarker

        public void setTiffMarker​(int marker)
                           throws TiffProcessingException
        Description copied from interface: TiffHandler
        Receives the 2-byte marker found in the TIFF header.

        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.

        Parameters:
        marker - the 2-byte value found at position 2 of the TIFF header
        Throws:
        TiffProcessingException
      • tryEnterSubIfd

        public boolean tryEnterSubIfd​(int tagId)
      • hasFollowerIfd

        public boolean hasFollowerIfd()
      • tryCustomProcessFormat

        public java.lang.Long tryCustomProcessFormat​(int tagId,
                                                     int formatCode,
                                                     long componentCount)
      • customProcessTag

        public boolean customProcessTag​(int tagOffset,
                                        java.util.Set<java.lang.Integer> processedIfdOffsets,
                                        int tiffHeaderOffset,
                                        RandomAccessReader reader,
                                        int tagId,
                                        int byteCount)
                                 throws java.io.IOException
        Throws:
        java.io.IOException