Fix tabbing.... Please fix your editors so they do tabbing correctly!!! (Spaces...
[IRC.git] / Robust / src / Analysis / SSJava / NTuple.java
1 package Analysis.SSJava;
2
3 import java.util.ArrayList;
4 import java.util.Arrays;
5 import java.util.Collection;
6 import java.util.List;
7
8 public class NTuple<T> {
9
10   private List<T> elements;
11
12   public NTuple(T...elements) {
13     this.elements = Arrays.asList(elements);
14   }
15
16   public NTuple() {
17     this.elements = new ArrayList<T>();
18   }
19
20   public String toString() {
21     return elements.toString();
22   }
23
24   public T at(int index) {
25     return elements.get(index);
26   }
27
28   public int size() {
29     return elements.size();
30   }
31
32   public void addElement(T newElement) {
33     this.elements.add(newElement);
34   }
35
36   public void addAll(Collection<T> all) {
37     this.elements.addAll(all);
38   }
39
40   public void addAll(NTuple<T> tuple) {
41     for (int i = 0; i < tuple.size(); i++) {
42       elements.add(tuple.at(i));
43     }
44   }
45
46   public boolean equals(Object o) {
47     if (this == o) {
48       return true;
49     }
50
51     if (o == null || o.getClass() != this.getClass()) {
52       return false;
53     }
54     return (((NTuple) o).elements).equals(elements);
55   }
56
57   public int hashCode() {
58     return elements.hashCode();
59   }
60
61 }