Remove the generic location (replace by Comparable)
[deliverable/tracecompass.git] / org.eclipse.linuxtools.tmf.core / src / org / eclipse / linuxtools / internal / tmf / core / trace / TmfLocationArray.java
index c781fe0974ecf173c7b78cc5db1a2072b8332738..2ec9ef1227b8b66db5338f8c9ad764e18c6b165c 100644 (file)
@@ -1,11 +1,11 @@
 /*******************************************************************************
  * Copyright (c) 2011, 2012 Ericsson
- * 
+ *
  * All rights reserved. This program and the accompanying materials are
  * made available under the terms of the Eclipse Public License v1.0 which
  * accompanies this distribution, and is available at
  * http://www.eclipse.org/legal/epl-v10.html
- * 
+ *
  * Contributors:
  * Patrick Tasse - Initial API and implementation
  * Francois Chouinard - Put in shape for 1.0
@@ -20,7 +20,7 @@ import org.eclipse.linuxtools.tmf.core.trace.ITmfLocation;
 /**
  * A convenience class to store trace location arrays. The main purpose is to
  * provide a Comparable implementation for TmfExperimentLocation.
- * 
+ *
  * @version 1.0
  * @author Patrick Tasse
  */
@@ -30,7 +30,7 @@ public class TmfLocationArray implements Comparable<TmfLocationArray>, Cloneable
     // Attributes
     // ------------------------------------------------------------------------
 
-    private ITmfLocation<? extends Comparable<?>>[] fLocations;
+    private final ITmfLocation[] fLocations;
 
     // ------------------------------------------------------------------------
     // Constructors
@@ -38,10 +38,10 @@ public class TmfLocationArray implements Comparable<TmfLocationArray>, Cloneable
 
     /**
      * The standard constructor
-     * 
+     *
      * @param locations the locations
      */
-    public TmfLocationArray(ITmfLocation<? extends Comparable<?>>[] locations) {
+    public TmfLocationArray(ITmfLocation[] locations) {
         fLocations = locations;
     }
 
@@ -50,11 +50,11 @@ public class TmfLocationArray implements Comparable<TmfLocationArray>, Cloneable
     // ------------------------------------------------------------------------
 
     /**
-     * The standard constructor
-     * 
-     * @param locations the locations
+     * Get the locations inside this array
+     *
+     * @return the locations
      */
-    public ITmfLocation<? extends Comparable<?>>[] getLocations() {
+    public ITmfLocation[] getLocations() {
         return fLocations;
     }
 
@@ -67,9 +67,10 @@ public class TmfLocationArray implements Comparable<TmfLocationArray>, Cloneable
      */
     @Override
     public TmfLocationArray clone() {
-        ITmfLocation<? extends Comparable<?>>[] clones = (ITmfLocation<? extends Comparable<?>>[]) new ITmfLocation<?>[fLocations.length];
+        ITmfLocation[] clones = new ITmfLocation[fLocations.length];
         for (int i = 0; i < fLocations.length; i++) {
-            clones[i] = fLocations[i].clone();
+            ITmfLocation location = fLocations[i];
+            clones[i] = (location != null) ? location.clone() : null;
         }
         return new TmfLocationArray(clones);
     }
@@ -82,9 +83,9 @@ public class TmfLocationArray implements Comparable<TmfLocationArray>, Cloneable
     @SuppressWarnings({ "unchecked", "rawtypes" })
     public int compareTo(TmfLocationArray o) {
         for (int i = 0; i < fLocations.length; i++) {
-            ITmfLocation<? extends Comparable> l1 = (ITmfLocation<? extends Comparable>) fLocations[i].getLocation();
-            ITmfLocation<? extends Comparable> l2 = (ITmfLocation<? extends Comparable>) o.fLocations[i].getLocation();
-            int result = l1.getLocation().compareTo(l2.getLocation());
+            Comparable l1 = fLocations[i].getLocationData();
+            Comparable l2 = o.fLocations[i].getLocationData();
+            int result = l1.compareTo(l2);
             if (result != 0) {
                 return result;
             }
This page took 0.024862 seconds and 5 git commands to generate.