changes.
[IRC.git] / Robust / src / Analysis / SSJava / NTuple.java
index 800c36529aac183f32858d3482d79a5e9d602dde..396b4b72da89af0f7568800d221584e9f2ef93f3 100644 (file)
@@ -13,6 +13,14 @@ public class NTuple<T> {
     this.elements.addAll(l);
   }
 
+  public NTuple(NTuple<T> tuple) {
+    this(tuple.toList());
+  }
+
+  public List<T> toList() {
+    return elements;
+  }
+
   public NTuple() {
     this.elements = new ArrayList<T>();
   }
@@ -51,7 +59,7 @@ public class NTuple<T> {
     if (o == null || o.getClass() != this.getClass()) {
       return false;
     }
-    return (((NTuple) o).elements).equals(elements);
+    return (((NTuple<T>) o).elements).equals(elements);
   }
 
   public int hashCode() {
@@ -84,7 +92,27 @@ public class NTuple<T> {
     return true;
 
   }
-  
-  
+
+  public NTuple<T> subList(int startIdx, int endIdx) {
+
+    NTuple<T> subList = new NTuple<T>();
+
+    for (int i = startIdx; i < endIdx; i++) {
+      subList.add(elements.get(i));
+    }
+
+    return subList;
+
+  }
+
+  public T getLastElement() {
+    return elements.get(elements.size() - 1);
+  }
+
+  public NTuple<T> clone() {
+    NTuple<T> clone = new NTuple<T>();
+    clone.addAll(this);
+    return clone;
+  }
 
 }