diff options
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.java | 18 |
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); + } } |