a bunch of fixes.
[IRC.git] / Robust / src / Analysis / SSJava / NodeTupleSet.java
1 package Analysis.SSJava;
2
3 import java.util.ArrayList;
4 import java.util.HashSet;
5 import java.util.Iterator;
6 import java.util.List;
7 import java.util.Set;
8
9 import IR.Descriptor;
10
11 public class NodeTupleSet {
12
13   private List<NTuple<Descriptor>> list;
14
15   public NodeTupleSet() {
16     list = new ArrayList<NTuple<Descriptor>>();
17   }
18
19   public void addTuple(NTuple<Descriptor> tuple) {
20
21     for (Iterator iterator = list.iterator(); iterator.hasNext();) {
22       NTuple<Descriptor> t = (NTuple<Descriptor>) iterator.next();
23       if (t.equals(tuple)) {
24         return;
25       }
26     }
27
28     list.add(tuple);
29   }
30
31   public Iterator<NTuple<Descriptor>> iterator() {
32     return list.iterator();
33   }
34
35   public String toString() {
36     return list.toString();
37   }
38
39   public Set<NTuple<Descriptor>> getSet() {
40     Set<NTuple<Descriptor>> set = new HashSet<NTuple<Descriptor>>();
41     set.addAll(list);
42     return set;
43   }
44
45   public void addTupleSet(NodeTupleSet in) {
46     if (in != null) {
47       for (Iterator iterator = in.iterator(); iterator.hasNext();) {
48         NTuple<Descriptor> inTuple = (NTuple<Descriptor>) iterator.next();
49         addTuple(inTuple);
50       }
51     }
52   }
53 }