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