aboutsummaryrefslogtreecommitdiffstats
path: root/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
diff options
context:
space:
mode:
authorJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
committerJon Bratseth <bratseth@yahoo-inc.com>2016-06-15 23:09:44 +0200
commit72231250ed81e10d66bfe70701e64fa5fe50f712 (patch)
tree2728bba1131a6f6e5bdf95afec7d7ff9358dac50 /predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
Publish
Diffstat (limited to 'predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java')
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java52
1 files changed, 52 insertions, 0 deletions
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
new file mode 100644
index 00000000000..230150f43dc
--- /dev/null
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/conjunction/ConjunctionHit.java
@@ -0,0 +1,52 @@
+// Copyright 2016 Yahoo Inc. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root.
+package com.yahoo.search.predicate.index.conjunction;
+
+import com.yahoo.search.predicate.SubqueryBitmap;
+
+/**
+ * Represents a conjunction hit. See {@link ConjunctionIndex}.
+ *
+ * @author bjorncs
+ */
+public class ConjunctionHit implements Comparable<ConjunctionHit> {
+ public final long conjunctionId;
+ public final long subqueryBitmap;
+
+ public ConjunctionHit(long conjunctionId, long subqueryBitmap) {
+ this.conjunctionId = conjunctionId;
+ this.subqueryBitmap = subqueryBitmap;
+ }
+
+ @Override
+ public int compareTo(ConjunctionHit other) {
+ return Long.compareUnsigned(conjunctionId, other.conjunctionId);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ConjunctionHit that = (ConjunctionHit) o;
+
+ if (conjunctionId != that.conjunctionId) return false;
+ return subqueryBitmap == that.subqueryBitmap;
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = (int) (conjunctionId ^ (conjunctionId >>> 32));
+ result = 31 * result + (int) (subqueryBitmap ^ (subqueryBitmap >>> 32));
+ return result;
+ }
+
+ @Override
+ public String toString() {
+ if (subqueryBitmap == SubqueryBitmap.DEFAULT_VALUE) {
+ return "" + conjunctionId;
+ } else {
+ return "[" + conjunctionId + ",0x" + Long.toHexString(subqueryBitmap) + "]";
+ }
+ }
+}