]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/drew/jpeg/ExifReader.java
Version 7, February 2009
[GpsPrune.git] / tim / prune / drew / jpeg / ExifReader.java
index 1637a9dbc633639d4126c2e892f58ce9f7e03498..9e0fd5980fd0f33fa64a61a46b0db6fc345c53b4 100644 (file)
@@ -25,31 +25,27 @@ public class ExifReader
        /** Thumbnail length */\r
        private int _thumbnailLength = -1;\r
 \r
-       /**\r
-        * The number of bytes used per format descriptor.\r
-        */\r
+       /** The number of bytes used per format descriptor */\r
        private static final int[] BYTES_PER_FORMAT = {0, 1, 1, 2, 4, 8, 1, 1, 2, 4, 8, 4, 8};\r
 \r
-       /**\r
-        * The number of formats known.\r
-        */\r
+       /** The number of formats known */\r
        private static final int MAX_FORMAT_CODE = 12;\r
 \r
        // Format types\r
        // Note: Cannot use the DataFormat enumeration in the case statement that uses these tags.\r
        //         Is there a better way?\r
-       private static final int FMT_BYTE = 1;\r
+       //private static final int FMT_BYTE = 1;\r
        private static final int FMT_STRING = 2;\r
-       private static final int FMT_USHORT = 3;\r
-       private static final int FMT_ULONG = 4;\r
+       //private static final int FMT_USHORT = 3;\r
+       //private static final int FMT_ULONG = 4;\r
        private static final int FMT_URATIONAL = 5;\r
-       private static final int FMT_SBYTE = 6;\r
-       private static final int FMT_UNDEFINED = 7;\r
-       private static final int FMT_SSHORT = 8;\r
-       private static final int FMT_SLONG = 9;\r
+       //private static final int FMT_SBYTE = 6;\r
+       //private static final int FMT_UNDEFINED = 7;\r
+       //private static final int FMT_SSHORT = 8;\r
+       //private static final int FMT_SLONG = 9;\r
        private static final int FMT_SRATIONAL = 10;\r
-       private static final int FMT_SINGLE = 11;\r
-       private static final int FMT_DOUBLE = 12;\r
+       //private static final int FMT_SINGLE = 11;\r
+       //private static final int FMT_DOUBLE = 12;\r
 \r
        public static final int TAG_EXIF_OFFSET = 0x8769;\r
        public static final int TAG_INTEROP_OFFSET = 0xA005;\r
@@ -85,7 +81,7 @@ public class ExifReader
 \r
 \r
        /**\r
-        * Creates an ExifReader for a Jpeg file.\r
+        * Creates an ExifReader for a Jpeg file\r
         * @param inFile File object to attempt to read from\r
         * @throws JpegException on failure\r
         */\r
@@ -144,7 +140,7 @@ public class ExifReader
                        firstDirectoryOffset = 14;\r
                }\r
 \r
-               HashMap processedDirectoryOffsets = new HashMap();\r
+               HashMap<Integer, String> processedDirectoryOffsets = new HashMap<Integer, String>();\r
 \r
                // 0th IFD (we merge with Exif IFD)\r
                processDirectory(metadata, false, processedDirectoryOffsets, firstDirectoryOffset, TIFF_HEADER_START_OFFSET);\r
@@ -179,15 +175,15 @@ public class ExifReader
         *   2 bytes: format code\r
         *   4 bytes: component count\r
         */\r
-       private void processDirectory(JpegData inMetadata, boolean inIsGPS, HashMap inDirectoryOffsets,\r
+       private void processDirectory(JpegData inMetadata, boolean inIsGPS, HashMap<Integer, String> inDirectoryOffsets,\r
                int inDirOffset, int inTiffHeaderOffset)\r
        {\r
                // check for directories we've already visited to avoid stack overflows when recursive/cyclic directory structures exist\r
-               if (inDirectoryOffsets.containsKey(new Integer(inDirOffset)))\r
+               if (inDirectoryOffsets.containsKey(Integer.valueOf(inDirOffset)))\r
                        return;\r
 \r
                // remember that we've visited this directory so that we don't visit it again later\r
-               inDirectoryOffsets.put(new Integer(inDirOffset), "processed");\r
+               inDirectoryOffsets.put(Integer.valueOf(inDirOffset), "processed");\r
 \r
                if (inDirOffset >= _data.length || inDirOffset < 0)\r
                {\r