aboutsummaryrefslogtreecommitdiffstats
path: root/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java
diff options
context:
space:
mode:
authorMax Cai <maxtroy@google.com>2014-08-21 17:39:00 +0000
committerAndroid Git Automerger <android-git-automerger@android.com>2014-08-21 17:39:00 +0000
commitc6d612ac7b18ba758c9067136c1217589aa5796f (patch)
treea21d25a6db12a86353e7bc88a5e3a43c3e0ecccd /java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java
parentb172d66772c921589a1338f00b34ff5bc3bcc225 (diff)
parentecb2c88b22ad898c088a81870f58adbf4e16d126 (diff)
downloadexternal_protobuf-c6d612ac7b18ba758c9067136c1217589aa5796f.zip
external_protobuf-c6d612ac7b18ba758c9067136c1217589aa5796f.tar.gz
external_protobuf-c6d612ac7b18ba758c9067136c1217589aa5796f.tar.bz2
am ecb2c88b: am 55ef21bc: am a88808d4: Merge "Fix access around unknownFieldData."
* commit 'ecb2c88b22ad898c088a81870f58adbf4e16d126': Fix access around unknownFieldData.
Diffstat (limited to 'java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java')
-rw-r--r--java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java25
1 files changed, 25 insertions, 0 deletions
diff --git a/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java b/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java
index a0c2731..5984d35 100644
--- a/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java
+++ b/java/src/main/java/com/google/protobuf/nano/ExtendableMessageNano.java
@@ -147,4 +147,29 @@ public abstract class ExtendableMessageNano<M extends ExtendableMessageNano<M>>
field.addUnknownField(unknownField);
return true;
}
+
+ /**
+ * Returns whether the stored unknown field data in this message is equivalent to that in the
+ * other message.
+ *
+ * @param other the other message.
+ * @return whether the two sets of unknown field data are equal.
+ */
+ protected final boolean unknownFieldDataEquals(M other) {
+ if (unknownFieldData == null || unknownFieldData.isEmpty()) {
+ return other.unknownFieldData == null || other.unknownFieldData.isEmpty();
+ } else {
+ return unknownFieldData.equals(other.unknownFieldData);
+ }
+ }
+
+ /**
+ * Computes the hashcode representing the unknown field data stored in this message.
+ *
+ * @return the hashcode for the unknown field data.
+ */
+ protected final int unknownFieldDataHashCode() {
+ return (unknownFieldData == null || unknownFieldData.isEmpty()
+ ? 0 : unknownFieldData.hashCode());
+ }
}