1 19 package bak.pcj.adapter; 20 21 import bak.pcj.Adapter; 22 import bak.pcj.IntIterator; 23 import bak.pcj.set.IntSet; 24 import bak.pcj.set.AbstractIntSet; 25 import bak.pcj.adapter.IteratorToIntIteratorAdapter; 26 import bak.pcj.util.Exceptions; 27 28 import java.util.Set ; 29 30 65 public class SetToIntSetAdapter extends AbstractIntSet implements IntSet { 66 67 68 protected Set set; 69 70 84 public SetToIntSetAdapter(Set set) { 85 if (set == null) 86 Exceptions.nullArgument("set"); 87 this.set = set; 88 } 89 90 114 public SetToIntSetAdapter(Set set, boolean validate) { 115 if (set == null) 116 Exceptions.nullArgument("set"); 117 this.set = set; 118 if (validate) 119 evalidate(); 120 } 121 122 public boolean add(int v) 123 { return set.add(new Integer (v)); } 124 125 public void clear() 126 { set.clear(); } 127 128 public boolean contains(int v) 129 { return set.contains(new Integer (v)); } 130 131 public int hashCode() 132 { return set.hashCode(); } 133 134 public IntIterator iterator() 135 { return new IteratorToIntIteratorAdapter(set.iterator()); } 136 137 public boolean remove(int v) 138 { return set.remove(new Integer (v)); } 139 140 public int size() 141 { return set.size(); } 142 143 152 public boolean validate() 153 { return Adapter.isIntAdaptable(set); } 154 155 164 public void evalidate() { 165 if (!validate()) 166 Exceptions.cannotAdapt("set"); 167 } 168 169 } | Popular Tags |