aboutsummaryrefslogtreecommitdiffstats
path: root/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
diff options
context:
space:
mode:
Diffstat (limited to 'predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java')
-rw-r--r--predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
new file mode 100644
index 00000000000..776e428a6ff
--- /dev/null
+++ b/predicate-search/src/main/java/com/yahoo/search/predicate/index/Posting.java
@@ -0,0 +1,50 @@
+// 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;
+
+/**
+ * Represents an entry in a posting list, containing an integer id and integer data reference.
+ *
+ * @author <a href="mailto:magnarn@yahoo-inc.com">Magnar Nedland</a>
+ */
+public class Posting implements Comparable<Posting> {
+
+ private final int id;
+ private final int dataRef;
+
+ public Posting(int id, int dataRef) {
+ this.id = id;
+ this.dataRef = dataRef;
+ }
+
+ public int getId() {
+ return id;
+ }
+
+ public int getDataRef() {
+ return dataRef;
+ }
+
+ @Override
+ public int compareTo(Posting o) {
+ return Integer.compareUnsigned(id, o.id);
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ Posting posting = (Posting) o;
+
+ if (id != posting.id) return false;
+ return dataRef == posting.dataRef;
+
+ }
+
+ @Override
+ public int hashCode() {
+ int result = id;
+ result = 31 * result + dataRef;
+ return result;
+ }
+}