1 19 package bak.pcj.adapter; 20 21 import bak.pcj.Adapter; 22 import bak.pcj.FloatIterator; 23 import bak.pcj.set.FloatSet; 24 import bak.pcj.set.AbstractFloatSet; 25 import bak.pcj.adapter.IteratorToFloatIteratorAdapter; 26 import bak.pcj.util.Exceptions; 27 28 import java.util.Set ; 29 30 65 public class SetToFloatSetAdapter extends AbstractFloatSet implements FloatSet { 66 67 68 protected Set set; 69 70 84 public SetToFloatSetAdapter(Set set) { 85 if (set == null) 86 Exceptions.nullArgument("set"); 87 this.set = set; 88 } 89 90 114 public SetToFloatSetAdapter(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(float v) 123 { return set.add(new Float (v)); } 124 125 public void clear() 126 { set.clear(); } 127 128 public boolean contains(float v) 129 { return set.contains(new Float (v)); } 130 131 public int hashCode() 132 { return set.hashCode(); } 133 134 public FloatIterator iterator() 135 { return new IteratorToFloatIteratorAdapter(set.iterator()); } 136 137 public boolean remove(float v) 138 { return set.remove(new Float (v)); } 139 140 public int size() 141 { return set.size(); } 142 143 152 public boolean validate() 153 { return Adapter.isFloatAdaptable(set); } 154 155 164 public void evalidate() { 165 if (!validate()) 166 Exceptions.cannotAdapt("set"); 167 } 168 169 } | Popular Tags |