aboutsummaryrefslogtreecommitdiffstats
path: root/container-search/src/main/java/com/yahoo/prelude
diff options
context:
space:
mode:
authorHenning Baldersheim <balder@yahoo-inc.com>2023-04-18 11:47:36 +0200
committerHenning Baldersheim <balder@yahoo-inc.com>2023-04-18 11:47:36 +0200
commitddee8ec7eb9c4a3c7374bf6bb42da23034ae4479 (patch)
tree0d04abf28f2fe78d0bf66a446b250283cd13b2e7 /container-search/src/main/java/com/yahoo/prelude
parentf871ed1ecec477f016168293cddb59edf4b2b1a7 (diff)
Consolidate rendering of raw data by using the same representation as in normal hits by using RawBase64.
Diffstat (limited to 'container-search/src/main/java/com/yahoo/prelude')
-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);
+ }
}