]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - tim/prune/jpeg/InternalExifLibrary.java
Version 10, May 2010
[GpsPrune.git] / tim / prune / jpeg / InternalExifLibrary.java
diff --git a/tim/prune/jpeg/InternalExifLibrary.java b/tim/prune/jpeg/InternalExifLibrary.java
new file mode 100644 (file)
index 0000000..c8b1708
--- /dev/null
@@ -0,0 +1,42 @@
+package tim.prune.jpeg;
+
+import java.io.File;
+import tim.prune.jpeg.drew.ExifReader;
+import tim.prune.jpeg.drew.JpegException;
+
+/**
+ * Class to act as a gateway into the internal exif library functions.
+ * This should be the only class with dependence on the jpeg.drew package.
+ * Should not be included if external library will be used (eg Debian).
+ */
+public class InternalExifLibrary implements ExifLibrary
+{
+       /**
+        * Use the _internal_ exif library to get the data from the given file
+        * @param inFile file to access
+        * @return Jpeg data if available, otherwise null
+        */
+       public JpegData getJpegData(File inFile)
+       {
+               JpegData data = null;
+               try {
+                       data = new ExifReader(inFile).extract();
+               }
+               catch (JpegException jpe) {} // data remains null
+               return data;
+       }
+
+       /**
+        * Check whether the exifreader class can be correctly resolved
+        * @return true if it looks ok
+        */
+       public boolean looksOK()
+       {
+               try {
+                       String test = ExifReader.class.getName();
+                       if (test != null) return true;
+               }
+               catch (LinkageError le) {}
+               return false;
+       }
+}