1 package net.obsearch.index.utils;
2
3 import java.nio.ByteBuffer;
4
5 import cern.colt.bitvector.BitVector;
6 import net.obsearch.asserts.OBAsserts;
7 import net.obsearch.constants.ByteConstants;
8 import net.obsearch.utils.bytes.ByteConversion;
9
10 public class BitBucket {
11
12 private BitVector data;
13
14 public BitBucket(){
15
16 }
17
18
19
20
21
22 public BitBucket(int size){
23 data = new BitVector(size);
24 }
25
26 public void clear(int arg0) {
27 data.clear(arg0);
28 }
29
30 public void set(int arg0) {
31 data.set(arg0);
32 }
33
34 public BitBucket copy(){
35 BitBucket res = new BitBucket();
36 res.data = this.data.copy();
37 return res;
38 }
39
40 public byte[] getBytes(){
41 ByteBuffer res = ByteConversion.createByteBuffer(ByteConstants.Long.getSize() * data.elements().length);
42 for(long l : data.elements()){
43 res.putLong(l);
44 }
45 return res.array();
46 }
47 }