refactored Topology to make it a value (immutable) class
[sbp.git] / src / edu / berkeley / sbp / util / Topology.java
index 2756aae..95cdaac 100644 (file)
@@ -10,20 +10,17 @@ import java.lang.ref.*;
 /** values inhabiting a topology over <tt>V</tt> (roughly, infinite sets of <tt>V</tt>'s equipped with union/intersection/complement) */
 public interface Topology<V> {
 
-    public void              add(Topology<V> t);
-    public void              add(V t);
-    public void              remove(Topology<V> t);
-    public void              remove(V t);
-    public Topology<V>       dup();
+    public Topology<V>       unwrap();
+    public Topology<V>       empty();
+
     public boolean           contains(V v);
-    public Topology<V>       fresh();
+    public boolean           disjoint(Topology<V> t);
+    public boolean           containsAll(Topology<V> t);
 
+    public Topology<V>       complement();
     public Topology<V>       intersect(Topology<V> t);
     public Topology<V>       minus(Topology<V> t);
     public Topology<V>       union(Topology<V> t);
-    public Topology<V>       complement();
-    public boolean           disjoint(Topology<V> t);
-    public boolean           containsAll(Topology<V> t);
 
     public abstract int     hashCode();
     public abstract boolean equals(Object o);