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 }