View Javadoc

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  	 * Create a new bit bucket with the given
19  	 * number of bits.
20  	 * @param size
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  }