| Index: third_party/protobuf/java/src/main/java/com/google/protobuf/Message.java
|
| ===================================================================
|
| --- third_party/protobuf/java/src/main/java/com/google/protobuf/Message.java (revision 216642)
|
| +++ third_party/protobuf/java/src/main/java/com/google/protobuf/Message.java (working copy)
|
| @@ -50,25 +50,28 @@
|
| */
|
| public interface Message extends MessageLite, MessageOrBuilder {
|
|
|
| + // (From MessageLite, re-declared here only for return type covariance.)
|
| + Parser<? extends Message> getParserForType();
|
| +
|
| // -----------------------------------------------------------------
|
| // Comparison and hashing
|
|
|
| /**
|
| * Compares the specified object with this message for equality. Returns
|
| - * <tt>true</tt> if the given object is a message of the same type (as
|
| + * {@code true} if the given object is a message of the same type (as
|
| * defined by {@code getDescriptorForType()}) and has identical values for
|
| * all of its fields. Subclasses must implement this; inheriting
|
| * {@code Object.equals()} is incorrect.
|
| *
|
| * @param other object to be compared for equality with this message
|
| - * @return <tt>true</tt> if the specified object is equal to this message
|
| + * @return {@code true} if the specified object is equal to this message
|
| */
|
| @Override
|
| boolean equals(Object other);
|
|
|
| /**
|
| * Returns the hash code value for this message. The hash code of a message
|
| - * should mix the message's type (object identity of the decsriptor) with its
|
| + * should mix the message's type (object identity of the descriptor) with its
|
| * contents (known and unknown field values). Subclasses must implement this;
|
| * inheriting {@code Object.hashCode()} is incorrect.
|
| *
|
| @@ -83,7 +86,8 @@
|
|
|
| /**
|
| * Converts the message to a string in protocol buffer text format. This is
|
| - * just a trivial wrapper around {@link TextFormat#printToString(Message)}.
|
| + * just a trivial wrapper around {@link
|
| + * TextFormat#printToString(MessageOrBuilder)}.
|
| */
|
| @Override
|
| String toString();
|
| @@ -145,6 +149,24 @@
|
| Builder newBuilderForField(Descriptors.FieldDescriptor field);
|
|
|
| /**
|
| + * Get a nested builder instance for the given field.
|
| + * <p>
|
| + * Normally, we hold a reference to the immutable message object for the
|
| + * message type field. Some implementations(the generated message builders),
|
| + * however, can also hold a reference to the builder object (a nested
|
| + * builder) for the field.
|
| + * <p>
|
| + * If the field is already backed up by a nested builder, the nested builder
|
| + * will be returned. Otherwise, a new field builder will be created and
|
| + * returned. The original message field (if exist) will be merged into the
|
| + * field builder, which will then be nested into its parent builder.
|
| + * <p>
|
| + * NOTE: implementations that do not support nested builders will throw
|
| + * <code>UnsupportedException</code>.
|
| + */
|
| + Builder getFieldBuilder(Descriptors.FieldDescriptor field);
|
| +
|
| + /**
|
| * Sets a field to the given value. The value must be of the correct type
|
| * for this field, i.e. the same type that
|
| * {@link Message#getField(Descriptors.FieldDescriptor)} would return.
|
|
|