Rename xxx.lttng to xxx.lttng.core
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf / src / org / eclipse / linuxtools / tmf / trace / TmfCheckpoint.java
index 6f19adf79c341609c132a0b717f46d20ee5071d2..7cea1cba9f355e044bb20e17c7d79173c6aa4e99 100644 (file)
@@ -19,14 +19,15 @@ import org.eclipse.linuxtools.tmf.event.TmfTimestamp;
  * <p>
  * This class maps an event timestamp to a generic location.
  */
-public class TmfCheckpoint implements Comparable<TmfCheckpoint> {
+@SuppressWarnings("rawtypes")
+public class TmfCheckpoint implements Comparable<TmfCheckpoint>, Cloneable {
 
     // ------------------------------------------------------------------------
     // Attributes
     // ------------------------------------------------------------------------
     
-    private final TmfTimestamp fTimestamp;
-    private final ITmfLocation<?> fLocation;
+    private TmfTimestamp fTimestamp;
+       private ITmfLocation<? extends Comparable> fLocation;
 
     // ------------------------------------------------------------------------
     // Constructors
@@ -42,7 +43,7 @@ public class TmfCheckpoint implements Comparable<TmfCheckpoint> {
      * @param ts the checkpoint timestamp
      * @param location the corresponding trace location
      */
-    public TmfCheckpoint(TmfTimestamp ts, ITmfLocation<?> location) {
+    public TmfCheckpoint(TmfTimestamp ts, ITmfLocation<? extends Comparable> location) {
         fTimestamp = ts;
         fLocation = location;
     }
@@ -80,6 +81,20 @@ public class TmfCheckpoint implements Comparable<TmfCheckpoint> {
     // Object
     // ------------------------------------------------------------------------
 
+    @Override
+    public TmfCheckpoint clone() {
+       TmfCheckpoint result = null;
+               try {
+                       result = (TmfCheckpoint) super.clone();
+               result.fTimestamp = new TmfTimestamp(fTimestamp);
+               result.fLocation  = fLocation.clone();
+               return result;
+               } catch (CloneNotSupportedException e) {
+                       e.printStackTrace();
+               }
+               return result;
+    }
     @Override
     public int hashCode() {
        return fTimestamp.hashCode();
@@ -95,6 +110,7 @@ public class TmfCheckpoint implements Comparable<TmfCheckpoint> {
     }
  
     @Override
+    @SuppressWarnings("nls")
     public String toString() {
        return "[TmfCheckpoint(" + fTimestamp +  "," + fLocation + ")]";
     }
@@ -103,7 +119,12 @@ public class TmfCheckpoint implements Comparable<TmfCheckpoint> {
     // Comparable
     // ------------------------------------------------------------------------
 
-    public int compareTo(TmfCheckpoint other) {
+       @SuppressWarnings("unchecked")
+       @Override
+       public int compareTo(TmfCheckpoint other) {
+       if (fTimestamp == null || other.fTimestamp == null) {
+               return fLocation.getLocation().compareTo(other.fLocation.getLocation());
+       }
         return fTimestamp.compareTo(other.fTimestamp, false);
     }
 
This page took 0.024489 seconds and 5 git commands to generate.