1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.apache.hadoop.hbase.util;
20
21 import java.util.Arrays;
22
23 import org.apache.hadoop.hbase.classification.InterfaceAudience;
24 import org.apache.hadoop.hbase.classification.InterfaceStability;
25
26
27
28
29
30 @InterfaceAudience.Private
31 @InterfaceStability.Stable
32 public class HashedBytes {
33
34 private final byte[] bytes;
35 private final int hashCode;
36
37 public HashedBytes(byte[] bytes) {
38 this.bytes = bytes;
39 hashCode = Bytes.hashCode(bytes);
40 }
41
42 public byte[] getBytes() {
43 return bytes;
44 }
45
46 @Override
47 public int hashCode() {
48 return hashCode;
49 }
50
51 @Override
52 public boolean equals(Object obj) {
53 if (this == obj)
54 return true;
55 if (obj == null || getClass() != obj.getClass())
56 return false;
57 HashedBytes other = (HashedBytes) obj;
58 return (hashCode == other.hashCode) && Arrays.equals(bytes, other.bytes);
59 }
60
61 @Override
62 public String toString() {
63 return Bytes.toStringBinary(bytes);
64 }
65 }