aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java
diff options
context:
space:
mode:
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java')
-rw-r--r--container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java18
1 files changed, 18 insertions, 0 deletions
diff --git a/container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java b/container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java
index ada0797ab02..71964054e0d 100644
--- a/container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java
+++ b/container-search/src/main/java/com/yahoo/prelude/hitfield/RawBase64.java
@@ -3,8 +3,10 @@ package com.yahoo.prelude.hitfield;
import java.util.Arrays;
import java.util.Base64;
+import java.util.Objects;
/**
+ * Wraps a byte [] and renders it as base64 encoded string
* @author baldersheim
*/
public class RawBase64 implements Comparable<RawBase64> {
@@ -14,10 +16,13 @@ public class RawBase64 implements Comparable<RawBase64> {
this(content, false);
}
public RawBase64(byte[] content, boolean withoutPadding) {
+ Objects.requireNonNull(content);
this.content = content;
this.withoutPadding = withoutPadding;
}
+ public byte [] value() { return content; }
+
@Override
public int compareTo(RawBase64 rhs) {
return Arrays.compareUnsigned(content, rhs.content);
@@ -29,4 +34,17 @@ public class RawBase64 implements Comparable<RawBase64> {
? Base64.getEncoder().withoutPadding().encodeToString(content)
: Base64.getEncoder().encodeToString(content);
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+ RawBase64 rawBase64 = (RawBase64) o;
+ return Arrays.equals(content, rawBase64.content);
+ }
+
+ @Override
+ public int hashCode() {
+ return Arrays.hashCode(content);
+ }
}