blob: f3048677bc8cc248aa35e8735216158f401c21e7 [file] [log] [blame]
margarethadf0e9d12018-07-30 16:22:59 +02001package de.ids_mannheim.korap.collection;
2
3import java.io.Serializable;
4
5import org.apache.lucene.util.BitDocIdSet;
6import org.apache.lucene.util.FixedBitSet;
7
8/** Serializable object for caching Lucene doc bit vector.
9 *
10 * @author margaretha
11 *
12 */
13public class DocBits implements Serializable {
14
15 /**
margaretha4dfe3c52018-08-13 17:07:50 +020016 * Auto generated
margarethadf0e9d12018-07-30 16:22:59 +020017 */
18 private static final long serialVersionUID = -3505650918983180852L;
19 final long[] bits;
margaretha16323812018-09-03 16:43:30 +020020 final int numbits;
margarethadf0e9d12018-07-30 16:22:59 +020021
margaretha16323812018-09-03 16:43:30 +020022 public DocBits (long[] bits, int numbits) {
margarethadf0e9d12018-07-30 16:22:59 +020023 this.bits = bits;
margaretha16323812018-09-03 16:43:30 +020024 this.numbits = numbits;
margarethadf0e9d12018-07-30 16:22:59 +020025 }
26
27 public BitDocIdSet createBitDocIdSet () {
margaretha16323812018-09-03 16:43:30 +020028 FixedBitSet bitset = new FixedBitSet(bits, numbits);
margarethadf0e9d12018-07-30 16:22:59 +020029 BitDocIdSet docIdSet = new BitDocIdSet(bitset);
30 return docIdSet;
31 }
32
33 @Override
34 public String toString () {
35 StringBuilder sb = new StringBuilder("[");
36 int i = 1;
37 for (long b : bits) {
38 sb.append(b);
margaretha16323812018-09-03 16:43:30 +020039 if (i < numbits) {
margarethadf0e9d12018-07-30 16:22:59 +020040 sb.append(",");
41 }
42 i++;
43 }
44 sb.append("]");
45 return sb.toString();
46 }
margaretha16323812018-09-03 16:43:30 +020047
48 public long[] getBits () {
49 return bits;
50 }
margarethadf0e9d12018-07-30 16:22:59 +020051}