]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/jpeg/drew/JpegSegmentData.java
Version 19, May 2018
[GpsPrune.git] / tim / prune / jpeg / drew / JpegSegmentData.java
diff --git a/tim/prune/jpeg/drew/JpegSegmentData.java b/tim/prune/jpeg/drew/JpegSegmentData.java
deleted file mode 100644 (file)
index 4b56cbe..0000000
+++ /dev/null
@@ -1,106 +0,0 @@
-package tim.prune.jpeg.drew;\r
-\r
-import java.util.ArrayList;\r
-import java.util.HashMap;\r
-import java.util.List;\r
-\r
-/**\r
- * Class to hold a collection of Jpeg data segments\r
- * Each marker represents a list of multiple byte arrays\r
- * Based on Drew Noakes' Metadata extractor at http://drewnoakes.com\r
- */\r
-public class JpegSegmentData\r
-{\r
-       /** A map of byte[], keyed by the segment marker */\r
-       private final HashMap<Byte, List<byte[]>> _segmentDataMap = new HashMap<Byte, List<byte[]>>(10);\r
-\r
-\r
-       /**\r
-        * Add a segment to the collection\r
-        * @param inSegmentMarker marker byte\r
-        * @param inSegmentBytes data of segment\r
-        */\r
-       public void addSegment(byte inSegmentMarker, byte[] inSegmentBytes)\r
-       {\r
-               List<byte[]> segmentList = getOrCreateSegmentList(inSegmentMarker);\r
-               segmentList.add(inSegmentBytes);\r
-       }\r
-\r
-\r
-       /**\r
-        * Get the first segment with the given marker\r
-        * @param inSegmentMarker marker byte\r
-        * @return first segment with that marker\r
-        */\r
-       public byte[] getSegment(byte inSegmentMarker)\r
-       {\r
-               return getSegment(inSegmentMarker, 0);\r
-       }\r
-\r
-\r
-       /**\r
-        * Get the nth segment with the given marker\r
-        * @param inSegmentMarker marker byte\r
-        * @param inOccurrence occurrence to get, starting at 0\r
-        * @return byte array from specified segment\r
-        */\r
-       public byte[] getSegment(byte inSegmentMarker, int inOccurrence)\r
-       {\r
-               final List<byte[]> segmentList = getSegmentList(inSegmentMarker);\r
-\r
-               if (segmentList==null || segmentList.size()<=inOccurrence)\r
-                       return null;\r
-               else\r
-                       return segmentList.get(inOccurrence);\r
-       }\r
-\r
-\r
-       /**\r
-        * Get the number of segments with the given marker\r
-        * @param inSegmentMarker marker byte\r
-        * @return number of segments\r
-        */\r
-       public int getSegmentCount(byte inSegmentMarker)\r
-       {\r
-               final List<byte[]> segmentList = getSegmentList(inSegmentMarker);\r
-               if (segmentList == null)\r
-                       return 0;\r
-               else\r
-                       return segmentList.size();\r
-       }\r
-\r
-\r
-       /**\r
-        * Get the list of segments with the given marker\r
-        * @param inSegmentMarker marker byte\r
-        * @return list of segments\r
-        */\r
-       private List<byte[]> getSegmentList(byte inSegmentMarker)\r
-       {\r
-               return _segmentDataMap.get(Byte.valueOf(inSegmentMarker));\r
-       }\r
-\r
-\r
-       /**\r
-        * Get the specified segment if it exists, otherwise create new one\r
-        * @param inSegmentMarker marker byte\r
-        * @return list of segments\r
-        */\r
-       private List<byte[]> getOrCreateSegmentList(byte inSegmentMarker)\r
-       {\r
-               List<byte[]> segmentList = null;\r
-               Byte key = Byte.valueOf(inSegmentMarker);\r
-               if (_segmentDataMap.containsKey(key))\r
-               {\r
-                       // list already exists\r
-                       segmentList = _segmentDataMap.get(key);\r
-               }\r
-               else\r
-               {\r
-                       // create new list and add it\r
-                       segmentList = new ArrayList<byte[]>();\r
-                       _segmentDataMap.put(key, segmentList);\r
-               }\r
-               return segmentList;\r
-       }\r
-}\r