test_class.declarator: exif
test_class.original_string: Exif exif;
test_class.type: Exif
test_class.var_name: exif
test_class.file: camera-view/src/test/java/com/xlythe/view/camera/ExifTest.java
test_class.identifier: ExifTest
test_case.body: @Test
      public void save() {
          assertEquals(-1, exif.getLastModifiedTimestamp());
  
          try {
              exif.save();
          } catch (IOException e) {
              // expected
          }
  
          assertWithin(System.currentTimeMillis(), exif.getLastModifiedTimestamp(), 3);
  
          // removeTimestamp should also be clearing the last modified timestamp
          exif.removeTimestamp();
          assertEquals(-1, exif.getLastModifiedTimestamp());
  
          // Even when saving again
          try {
              exif.save();
          } catch (IOException e) {
              // expected
          }
  
          assertEquals(-1, exif.getLastModifiedTimestamp());
      }
test_case.class_method_signature: ExifTest.save()
test_case.full_signature: @Test public void save()
test_case.identifier: save
test_case.invocations: assertEquals getLastModifiedTimestamp save assertWithin currentTimeMillis getLastModifiedTimestamp removeTimestamp assertEquals getLastModifiedTimestamp save assertEquals getLastModifiedTimestamp
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void save()
focal_class.declarator: TAG = Exif.class.getSimpleName()
focal_class.modifier: private static final
focal_class.original_string: private static final String TAG = Exif.class.getSimpleName();
focal_class.type: String
focal_class.var_name: TAG
focal_class.declarator: DATE_FORMAT = new SimpleDateFormat("yyyy:MM:dd", Locale.ENGLISH)
focal_class.modifier: private static final
focal_class.original_string: private static final SimpleDateFormat DATE_FORMAT = new SimpleDateFormat("yyyy:MM:dd", Locale.ENGLISH);
focal_class.type: SimpleDateFormat
focal_class.var_name: DATE_FORMAT
focal_class.declarator: TIME_FORMAT = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH)
focal_class.modifier: private static final
focal_class.original_string: private static final SimpleDateFormat TIME_FORMAT = new SimpleDateFormat("HH:mm:ss", Locale.ENGLISH);
focal_class.type: SimpleDateFormat
focal_class.var_name: TIME_FORMAT
focal_class.declarator: DATETIME_FORMAT = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss", Locale.ENGLISH)
focal_class.modifier: private static final
focal_class.original_string: private static final SimpleDateFormat DATETIME_FORMAT = new SimpleDateFormat("yyyy:MM:dd HH:mm:ss", Locale.ENGLISH);
focal_class.type: SimpleDateFormat
focal_class.var_name: DATETIME_FORMAT
focal_class.declarator: KILOMETERS_PER_HOUR = "K"
focal_class.modifier: private static final
focal_class.original_string: private static final String KILOMETERS_PER_HOUR = "K";
focal_class.type: String
focal_class.var_name: KILOMETERS_PER_HOUR
focal_class.declarator: MILES_PER_HOUR = "M"
focal_class.modifier: private static final
focal_class.original_string: private static final String MILES_PER_HOUR = "M";
focal_class.type: String
focal_class.var_name: MILES_PER_HOUR
focal_class.declarator: KNOTS = "N"
focal_class.modifier: private static final
focal_class.original_string: private static final String KNOTS = "N";
focal_class.type: String
focal_class.var_name: KNOTS
focal_class.declarator: mExifInterface
focal_class.modifier: private final
focal_class.original_string: private final ExifInterface mExifInterface;
focal_class.type: ExifInterface
focal_class.var_name: mExifInterface
focal_class.declarator: mRemoveTimestamp = false
focal_class.modifier: private
focal_class.original_string: private boolean mRemoveTimestamp = false;
focal_class.type: boolean
focal_class.var_name: mRemoveTimestamp
focal_class.file: camera-view/src/main/java/com/xlythe/view/camera/Exif.java
focal_class.identifier: Exif
focal_class.class_method_signature: Exif.Exif(File file)
focal_class.full_signature: public  Exif(File file)
focal_class.identifier: Exif
focal_class.modifiers: public
focal_class.parameters: (File file)
focal_class.signature:  Exif(File file)
focal_class.class_method_signature: Exif.Exif(String filePath)
focal_class.full_signature: public  Exif(String filePath)
focal_class.identifier: Exif
focal_class.modifiers: public
focal_class.parameters: (String filePath)
focal_class.signature:  Exif(String filePath)
focal_class.class_method_signature: Exif.Exif(InputStream is)
focal_class.full_signature: public  Exif(InputStream is)
focal_class.identifier: Exif
focal_class.modifiers: public
focal_class.parameters: (InputStream is)
focal_class.signature:  Exif(InputStream is)
focal_class.class_method_signature: Exif.Exif(ExifInterface exifInterface)
focal_class.full_signature: private  Exif(ExifInterface exifInterface)
focal_class.identifier: Exif
focal_class.modifiers: private
focal_class.parameters: (ExifInterface exifInterface)
focal_class.signature:  Exif(ExifInterface exifInterface)
focal_class.class_method_signature: Exif.save()
focal_class.full_signature: public void save()
focal_class.identifier: save
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void save()
focal_class.class_method_signature: Exif.toString()
focal_class.full_signature: @Override public String toString()
focal_class.identifier: toString
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String toString()
focal_class.class_method_signature: Exif.getOrientation()
focal_class.full_signature: private int getOrientation()
focal_class.identifier: getOrientation
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getOrientation()
focal_class.class_method_signature: Exif.getWidth()
focal_class.full_signature: public int getWidth()
focal_class.identifier: getWidth
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getWidth()
focal_class.class_method_signature: Exif.getHeight()
focal_class.full_signature: public int getHeight()
focal_class.identifier: getHeight
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getHeight()
focal_class.class_method_signature: Exif.getDescription()
focal_class.full_signature: @Nullable public String getDescription()
focal_class.identifier: getDescription
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: String
focal_class.signature: String getDescription()
focal_class.class_method_signature: Exif.setDescription(@Nullable String description)
focal_class.full_signature: public void setDescription(@Nullable String description)
focal_class.identifier: setDescription
focal_class.modifiers: public
focal_class.parameters: (@Nullable String description)
focal_class.return: void
focal_class.signature: void setDescription(@Nullable String description)
focal_class.class_method_signature: Exif.getRotation()
focal_class.full_signature: public int getRotation()
focal_class.identifier: getRotation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: int
focal_class.signature: int getRotation()
focal_class.class_method_signature: Exif.isFlippedVertically()
focal_class.full_signature: public boolean isFlippedVertically()
focal_class.identifier: isFlippedVertically
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isFlippedVertically()
focal_class.class_method_signature: Exif.isFlippedHorizontally()
focal_class.full_signature: public boolean isFlippedHorizontally()
focal_class.identifier: isFlippedHorizontally
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: boolean
focal_class.signature: boolean isFlippedHorizontally()
focal_class.class_method_signature: Exif.attachLastModifiedTimestamp()
focal_class.full_signature: private void attachLastModifiedTimestamp()
focal_class.identifier: attachLastModifiedTimestamp
focal_class.modifiers: private
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void attachLastModifiedTimestamp()
focal_class.class_method_signature: Exif.getLastModifiedTimestamp()
focal_class.full_signature: public long getLastModifiedTimestamp()
focal_class.identifier: getLastModifiedTimestamp
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getLastModifiedTimestamp()
focal_class.class_method_signature: Exif.getTimestamp()
focal_class.full_signature: public long getTimestamp()
focal_class.identifier: getTimestamp
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: long
focal_class.signature: long getTimestamp()
focal_class.class_method_signature: Exif.getLocation()
focal_class.full_signature: @Nullable public Location getLocation()
focal_class.identifier: getLocation
focal_class.modifiers: @Nullable public
focal_class.parameters: ()
focal_class.return: Location
focal_class.signature: Location getLocation()
focal_class.class_method_signature: Exif.rotate(int degrees)
focal_class.full_signature: public void rotate(int degrees)
focal_class.identifier: rotate
focal_class.modifiers: public
focal_class.parameters: (int degrees)
focal_class.return: void
focal_class.signature: void rotate(int degrees)
focal_class.class_method_signature: Exif.flipVertically()
focal_class.full_signature: public void flipVertically()
focal_class.identifier: flipVertically
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void flipVertically()
focal_class.class_method_signature: Exif.flipHorizontally()
focal_class.full_signature: public void flipHorizontally()
focal_class.identifier: flipHorizontally
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void flipHorizontally()
focal_class.class_method_signature: Exif.attachTimestamp()
focal_class.full_signature: public void attachTimestamp()
focal_class.identifier: attachTimestamp
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void attachTimestamp()
focal_class.class_method_signature: Exif.removeTimestamp()
focal_class.full_signature: public void removeTimestamp()
focal_class.identifier: removeTimestamp
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeTimestamp()
focal_class.class_method_signature: Exif.attachLocation(Location location)
focal_class.full_signature: public void attachLocation(Location location)
focal_class.identifier: attachLocation
focal_class.modifiers: public
focal_class.parameters: (Location location)
focal_class.return: void
focal_class.signature: void attachLocation(Location location)
focal_class.class_method_signature: Exif.removeLocation()
focal_class.full_signature: public void removeLocation()
focal_class.identifier: removeLocation
focal_class.modifiers: public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void removeLocation()
focal_class.class_method_signature: Exif.parseTimestamp(@Nullable String date, @Nullable String time)
focal_class.full_signature: private long parseTimestamp(@Nullable String date, @Nullable String time)
focal_class.identifier: parseTimestamp
focal_class.modifiers: private
focal_class.parameters: (@Nullable String date, @Nullable String time)
focal_class.return: long
focal_class.signature: long parseTimestamp(@Nullable String date, @Nullable String time)
focal_class.class_method_signature: Exif.parseTimestamp(@Nullable String datetime)
focal_class.full_signature: private long parseTimestamp(@Nullable String datetime)
focal_class.identifier: parseTimestamp
focal_class.modifiers: private
focal_class.parameters: (@Nullable String datetime)
focal_class.return: long
focal_class.signature: long parseTimestamp(@Nullable String datetime)
focal_class.class_method_signature: Exif.convertToExifDateTime(long timestamp)
focal_class.full_signature: private static String convertToExifDateTime(long timestamp)
focal_class.identifier: convertToExifDateTime
focal_class.modifiers: private static
focal_class.parameters: (long timestamp)
focal_class.return: String
focal_class.signature: String convertToExifDateTime(long timestamp)
focal_class.class_method_signature: Exif.convertFromExifDateTime(String dateTime)
focal_class.full_signature: private static Date convertFromExifDateTime(String dateTime)
focal_class.identifier: convertFromExifDateTime
focal_class.modifiers: private static
focal_class.parameters: (String dateTime)
focal_class.return: Date
focal_class.signature: Date convertFromExifDateTime(String dateTime)
focal_class.class_method_signature: Exif.convertToExifDate(long timestamp)
focal_class.full_signature: private static String convertToExifDate(long timestamp)
focal_class.identifier: convertToExifDate
focal_class.modifiers: private static
focal_class.parameters: (long timestamp)
focal_class.return: String
focal_class.signature: String convertToExifDate(long timestamp)
focal_class.class_method_signature: Exif.convertFromExifDate(String date)
focal_class.full_signature: private static Date convertFromExifDate(String date)
focal_class.identifier: convertFromExifDate
focal_class.modifiers: private static
focal_class.parameters: (String date)
focal_class.return: Date
focal_class.signature: Date convertFromExifDate(String date)
focal_class.class_method_signature: Exif.convertToExifTime(long timestamp)
focal_class.full_signature: private static String convertToExifTime(long timestamp)
focal_class.identifier: convertToExifTime
focal_class.modifiers: private static
focal_class.parameters: (long timestamp)
focal_class.return: String
focal_class.signature: String convertToExifTime(long timestamp)
focal_class.class_method_signature: Exif.convertFromExifTime(String time)
focal_class.full_signature: private static Date convertFromExifTime(String time)
focal_class.identifier: convertFromExifTime
focal_class.modifiers: private static
focal_class.parameters: (String time)
focal_class.return: Date
focal_class.signature: Date convertFromExifTime(String time)
focal_method.body: public void save() throws IOException {
          if (!mRemoveTimestamp) {
              attachLastModifiedTimestamp();
          }
          mExifInterface.saveAttributes();
      }
focal_method.class_method_signature: Exif.save()
focal_method.full_signature: public void save()
focal_method.identifier: save
focal_method.invocations: attachLastModifiedTimestamp saveAttributes
focal_method.modifiers: public
focal_method.parameters: ()
focal_method.return: void
focal_method.signature: void save()