aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java
diff options
context:
space:
mode:
Diffstat (limited to 'java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java')
-rw-r--r--java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java24
1 files changed, 24 insertions, 0 deletions
diff --git a/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java b/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java
index 0db2a83..833ed2a 100644
--- a/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java
+++ b/java/src/main/java/com/google/protobuf/nano/UnknownFieldData.java
@@ -30,6 +30,8 @@
package com.google.protobuf.nano;
+import java.util.Arrays;
+
/**
* Stores unknown fields. These might be extensions or fields that the generated API doesn't
* know about yet.
@@ -37,6 +39,7 @@ package com.google.protobuf.nano;
* @author bduff@google.com (Brian Duff)
*/
public final class UnknownFieldData {
+
final int tag;
final byte[] bytes;
@@ -44,4 +47,25 @@ public final class UnknownFieldData {
this.tag = tag;
this.bytes = bytes;
}
+
+ @Override
+ public boolean equals(Object o) {
+ if (o == this) {
+ return true;
+ }
+ if (!(o instanceof UnknownFieldData)) {
+ return false;
+ }
+
+ UnknownFieldData other = (UnknownFieldData) o;
+ return tag == other.tag && Arrays.equals(bytes, other.bytes);
+ }
+
+ @Override
+ public int hashCode() {
+ int result = 17;
+ result = 31 * result + tag;
+ result = 31 * result + Arrays.hashCode(bytes);
+ return result;
+ }
}