00001
00005 package edu.mit.csail.sdg.squander.examples.partitioning;
00006
00007 import java.util.HashSet;
00008 import java.util.Set;
00009
00010 import edu.mit.csail.sdg.annotations.Invariant;
00011
00012 @Invariant("null !in this.doms.elts")
00013 public class Partition {
00014
00015 private static int cnt = 0;
00016 private final int idx = cnt++;
00017
00018 private final Set<Domain> doms = new HashSet<Domain>();
00019
00020 public Set<Domain> getDoms() { return doms; }
00021 public int getIdx() { return idx; }
00022
00023 @Override
00024 public int hashCode() {
00025 final int prime = 31;
00026 int result = 1;
00027 result = prime * result + idx;
00028 return result;
00029 }
00030
00031 @Override
00032 public boolean equals(Object obj) {
00033 if (this == obj)
00034 return true;
00035 if (obj == null)
00036 return false;
00037 if (getClass() != obj.getClass())
00038 return false;
00039 Partition other = (Partition) obj;
00040 if (idx != other.idx)
00041 return false;
00042 return true;
00043 }
00044
00045 @Override
00046 public String toString() {
00047 return "Part" + idx;
00048 }
00049
00050 }