]> gitweb.fperrin.net Git - GpsPrune.git/blobdiff - src/tim/prune/correlate/TimeIndexPair.java
Moved source into separate src directory due to popular request
[GpsPrune.git] / src / tim / prune / correlate / TimeIndexPair.java
diff --git a/src/tim/prune/correlate/TimeIndexPair.java b/src/tim/prune/correlate/TimeIndexPair.java
new file mode 100644 (file)
index 0000000..2340112
--- /dev/null
@@ -0,0 +1,58 @@
+package tim.prune.correlate;
+
+/**
+ * Simple class to hold a time and an index.
+ * Used in a TreeSet for calculating median time difference
+ */
+public class TimeIndexPair implements Comparable<TimeIndexPair>
+{
+       /** Time as long */
+       private long _time = 0L;
+       /** Index as int */
+       private int _index = 0;
+
+
+       /**
+        * Constructor
+        * @param inTime time as long
+        * @param inIndex index as int
+        */
+       public TimeIndexPair(long inTime, int inIndex)
+       {
+               _time = inTime;
+               _index = inIndex;
+       }
+
+
+       /**
+        * @return the index
+        */
+       public int getIndex()
+       {
+               return _index;
+       }
+
+
+       /**
+        * Compare two TimeIndexPair objects
+        * @see java.lang.Comparable#compareTo(java.lang.Object)
+        */
+       public int compareTo(TimeIndexPair inOther)
+       {
+               int compare = (int) (_time - inOther._time);
+               if (compare == 0) {compare = _index - inOther._index;}
+               return compare;
+       }
+
+       /**
+        * Override equals method to match compareTo
+        */
+       public boolean equals(Object inOther)
+       {
+               if (inOther instanceof TimeIndexPair) {
+                       TimeIndexPair otherPair = (TimeIndexPair) inOther;
+                       return _time == otherPair._time;
+               }
+               return false;
+       }
+}