Index: third_party/protobuf/java/core/src/main/java/com/google/protobuf/GeneratedMessage.java |
diff --git a/third_party/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/GeneratedMessage.java |
similarity index 94% |
rename from third_party/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java |
rename to third_party/protobuf/java/core/src/main/java/com/google/protobuf/GeneratedMessage.java |
index d84fa75c5110f72d4223d6f39a762d60bf525b39..790cb622a7eb84de07af5a1fad1ac5a2cf12d59a 100644 |
--- a/third_party/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessage.java |
+++ b/third_party/protobuf/java/core/src/main/java/com/google/protobuf/GeneratedMessage.java |
@@ -36,15 +36,13 @@ import com.google.protobuf.Descriptors.EnumValueDescriptor; |
import com.google.protobuf.Descriptors.FieldDescriptor; |
import com.google.protobuf.Descriptors.FileDescriptor; |
import com.google.protobuf.Descriptors.OneofDescriptor; |
-import com.google.protobuf.GeneratedMessageLite.ExtendableMessage; |
-import com.google.protobuf.GeneratedMessageLite.GeneratedExtension; |
import java.io.IOException; |
+import java.io.InputStream; |
import java.io.ObjectStreamException; |
import java.io.Serializable; |
import java.lang.reflect.InvocationTargetException; |
import java.lang.reflect.Method; |
-import java.lang.reflect.Type; |
import java.util.ArrayList; |
import java.util.Collections; |
import java.util.Iterator; |
@@ -82,6 +80,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
unknownFields = builder.getUnknownFields(); |
} |
+ @Override |
public Parser<? extends GeneratedMessage> getParserForType() { |
throw new UnsupportedOperationException( |
"This is supposed to be overridden by subclasses."); |
@@ -104,7 +103,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
*/ |
protected abstract FieldAccessorTable internalGetFieldAccessorTable(); |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Descriptor getDescriptorForType() { |
return internalGetFieldAccessorTable().descriptor; |
} |
@@ -193,7 +192,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
return true; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Map<FieldDescriptor, Object> getAllFields() { |
return Collections.unmodifiableMap( |
getAllFieldsMutable(/* getBytesForString = */ false)); |
@@ -214,22 +213,22 @@ public abstract class GeneratedMessage extends AbstractMessage |
getAllFieldsMutable(/* getBytesForString = */ true)); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public boolean hasOneof(final OneofDescriptor oneof) { |
return internalGetFieldAccessorTable().getOneof(oneof).has(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public FieldDescriptor getOneofFieldDescriptor(final OneofDescriptor oneof) { |
return internalGetFieldAccessorTable().getOneof(oneof).get(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public boolean hasField(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field).has(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Object getField(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field).get(this); |
} |
@@ -246,19 +245,19 @@ public abstract class GeneratedMessage extends AbstractMessage |
return internalGetFieldAccessorTable().getField(field).getRaw(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public int getRepeatedFieldCount(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field) |
.getRepeatedCount(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Object getRepeatedField(final FieldDescriptor field, final int index) { |
return internalGetFieldAccessorTable().getField(field) |
.getRepeated(this, index); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public UnknownFieldSet getUnknownFields() { |
throw new UnsupportedOperationException( |
"This is supposed to be overridden by subclasses."); |
@@ -276,6 +275,60 @@ public abstract class GeneratedMessage extends AbstractMessage |
return unknownFields.mergeFieldFrom(tag, input); |
} |
+ protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input) |
+ throws IOException { |
+ try { |
+ return parser.parseFrom(input); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
+ protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input, |
+ ExtensionRegistryLite extensions) throws IOException { |
+ try { |
+ return parser.parseFrom(input, extensions); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
+ protected static <M extends Message> M parseWithIOException(Parser<M> parser, |
+ CodedInputStream input) throws IOException { |
+ try { |
+ return parser.parseFrom(input); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
+ protected static <M extends Message> M parseWithIOException(Parser<M> parser, |
+ CodedInputStream input, ExtensionRegistryLite extensions) throws IOException { |
+ try { |
+ return parser.parseFrom(input, extensions); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
+ protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser, |
+ InputStream input) throws IOException { |
+ try { |
+ return parser.parseDelimitedFrom(input); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
+ protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser, |
+ InputStream input, ExtensionRegistryLite extensions) throws IOException { |
+ try { |
+ return parser.parseDelimitedFrom(input, extensions); |
+ } catch (InvalidProtocolBufferException e) { |
+ throw e.unwrapIOException(); |
+ } |
+ } |
+ |
@Override |
public void writeTo(final CodedOutputStream output) throws IOException { |
MessageReflection.writeMessageTo(this, getAllFieldsRaw(), output, false); |
@@ -328,7 +381,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
@SuppressWarnings("unchecked") |
- public abstract static class Builder <BuilderType extends Builder> |
+ public abstract static class Builder <BuilderType extends Builder<BuilderType>> |
extends AbstractMessage.Builder<BuilderType> { |
private BuilderParent builderParent; |
@@ -392,6 +445,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
* Called by the initialization and clear code paths to allow subclasses to |
* reset any of their builtin fields back to the initial values. |
*/ |
+ @Override |
public BuilderType clear() { |
unknownFields = UnknownFieldSet.getDefaultInstance(); |
onChanged(); |
@@ -405,12 +459,12 @@ public abstract class GeneratedMessage extends AbstractMessage |
*/ |
protected abstract FieldAccessorTable internalGetFieldAccessorTable(); |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Descriptor getDescriptorForType() { |
return internalGetFieldAccessorTable().descriptor; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Map<FieldDescriptor, Object> getAllFields() { |
return Collections.unmodifiableMap(getAllFieldsMutable()); |
} |
@@ -458,39 +512,38 @@ public abstract class GeneratedMessage extends AbstractMessage |
return result; |
} |
- public Message.Builder newBuilderForField( |
- final FieldDescriptor field) { |
+ @Override |
+ public Message.Builder newBuilderForField(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field).newBuilder(); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Message.Builder getFieldBuilder(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field).getBuilder(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public Message.Builder getRepeatedFieldBuilder(final FieldDescriptor field, |
- int index) { |
+ @Override |
+ public Message.Builder getRepeatedFieldBuilder(final FieldDescriptor field, int index) { |
return internalGetFieldAccessorTable().getField(field).getRepeatedBuilder( |
this, index); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public boolean hasOneof(final OneofDescriptor oneof) { |
return internalGetFieldAccessorTable().getOneof(oneof).has(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public FieldDescriptor getOneofFieldDescriptor(final OneofDescriptor oneof) { |
return internalGetFieldAccessorTable().getOneof(oneof).get(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public boolean hasField(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field).has(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public Object getField(final FieldDescriptor field) { |
Object object = internalGetFieldAccessorTable().getField(field).get(this); |
if (field.isRepeated()) { |
@@ -502,52 +555,52 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
} |
- public BuilderType setField(final FieldDescriptor field, |
- final Object value) { |
+ @Override |
+ public BuilderType setField(final FieldDescriptor field, final Object value) { |
internalGetFieldAccessorTable().getField(field).set(this, value); |
return (BuilderType) this; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public BuilderType clearField(final FieldDescriptor field) { |
internalGetFieldAccessorTable().getField(field).clear(this); |
return (BuilderType) this; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public BuilderType clearOneof(final OneofDescriptor oneof) { |
internalGetFieldAccessorTable().getOneof(oneof).clear(this); |
return (BuilderType) this; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public int getRepeatedFieldCount(final FieldDescriptor field) { |
return internalGetFieldAccessorTable().getField(field) |
.getRepeatedCount(this); |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public Object getRepeatedField(final FieldDescriptor field, |
- final int index) { |
+ @Override |
+ public Object getRepeatedField(final FieldDescriptor field, final int index) { |
return internalGetFieldAccessorTable().getField(field) |
.getRepeated(this, index); |
} |
- public BuilderType setRepeatedField(final FieldDescriptor field, |
- final int index, final Object value) { |
+ @Override |
+ public BuilderType setRepeatedField( |
+ final FieldDescriptor field, final int index, final Object value) { |
internalGetFieldAccessorTable().getField(field) |
.setRepeated(this, index, value); |
return (BuilderType) this; |
} |
- public BuilderType addRepeatedField(final FieldDescriptor field, |
- final Object value) { |
+ @Override |
+ public BuilderType addRepeatedField(final FieldDescriptor field, final Object value) { |
internalGetFieldAccessorTable().getField(field).addRepeated(this, value); |
return (BuilderType) this; |
} |
- public BuilderType setUnknownFields( |
- final UnknownFieldSet unknownFields) { |
+ @Override |
+ public BuilderType setUnknownFields(final UnknownFieldSet unknownFields) { |
this.unknownFields = unknownFields; |
onChanged(); |
return (BuilderType) this; |
@@ -564,7 +617,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
return (BuilderType) this; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public boolean isInitialized() { |
for (final FieldDescriptor field : getDescriptorForType().getFields()) { |
// Check that all required fields are present. |
@@ -594,7 +647,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
return true; |
} |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public final UnknownFieldSet getUnknownFields() { |
return unknownFields; |
} |
@@ -618,7 +671,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
*/ |
private class BuilderParentImpl implements BuilderParent { |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public void markDirty() { |
onChanged(); |
} |
@@ -667,7 +720,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
"No map fields found in " + getClass().getName()); |
} |
- /** Like {@link internalGetMapField} but return a mutable version. */ |
+ /** Like {@link #internalGetMapField} but return a mutable version. */ |
@SuppressWarnings({"unused", "rawtypes"}) |
protected MapField internalGetMutableMapField(int fieldNumber) { |
// Note that we can't use descriptor names here because this method will |
@@ -683,6 +736,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
public interface ExtendableMessageOrBuilder< |
MessageType extends ExtendableMessage> extends MessageOrBuilder { |
// Re-define for return type covariance. |
+ @Override |
Message getDefaultInstanceForType(); |
/** Check if a singular extension is present. */ |
@@ -743,6 +797,8 @@ public abstract class GeneratedMessage extends AbstractMessage |
extends GeneratedMessage |
implements ExtendableMessageOrBuilder<MessageType> { |
+ private static final long serialVersionUID = 1L; |
+ |
private final FieldSet<FieldDescriptor> extensions; |
protected ExtendableMessage() { |
@@ -769,9 +825,8 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Check if a singular extension is present. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public final <Type> boolean hasExtension( |
- final ExtensionLite<MessageType, Type> extensionLite) { |
+ @Override |
+ public final <Type> boolean hasExtension(final ExtensionLite<MessageType, Type> extensionLite) { |
Extension<MessageType, Type> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -779,7 +834,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get the number of elements in a repeated extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public final <Type> int getExtensionCount( |
final ExtensionLite<MessageType, List<Type>> extensionLite) { |
Extension<MessageType, List<Type>> extension = checkNotLite(extensionLite); |
@@ -790,10 +845,9 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get the value of an extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
@SuppressWarnings("unchecked") |
- public final <Type> Type getExtension( |
- final ExtensionLite<MessageType, Type> extensionLite) { |
+ public final <Type> Type getExtension(final ExtensionLite<MessageType, Type> extensionLite) { |
Extension<MessageType, Type> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -815,11 +869,10 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get one element of a repeated extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
@SuppressWarnings("unchecked") |
public final <Type> Type getExtension( |
- final ExtensionLite<MessageType, List<Type>> extensionLite, |
- final int index) { |
+ final ExtensionLite<MessageType, List<Type>> extensionLite, final int index) { |
Extension<MessageType, List<Type>> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -967,7 +1020,9 @@ public abstract class GeneratedMessage extends AbstractMessage |
verifyContainingType(field); |
final Object value = extensions.getField(field); |
if (value == null) { |
- if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) { |
+ if (field.isRepeated()) { |
+ return Collections.emptyList(); |
+ } else if (field.getJavaType() == FieldDescriptor.JavaType.MESSAGE) { |
// Lacking an ExtensionRegistry, we have no way to determine the |
// extension's real type, so we return a DynamicMessage. |
return DynamicMessage.getDefaultInstance(field.getMessageType()); |
@@ -1051,7 +1106,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
@SuppressWarnings("unchecked") |
public abstract static class ExtendableBuilder< |
MessageType extends ExtendableMessage, |
- BuilderType extends ExtendableBuilder> |
+ BuilderType extends ExtendableBuilder<MessageType, BuilderType>> |
extends Builder<BuilderType> |
implements ExtendableMessageOrBuilder<MessageType> { |
@@ -1103,9 +1158,8 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Check if a singular extension is present. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public final <Type> boolean hasExtension( |
- final ExtensionLite<MessageType, Type> extensionLite) { |
+ @Override |
+ public final <Type> boolean hasExtension(final ExtensionLite<MessageType, Type> extensionLite) { |
Extension<MessageType, Type> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -1113,7 +1167,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get the number of elements in a repeated extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public final <Type> int getExtensionCount( |
final ExtensionLite<MessageType, List<Type>> extensionLite) { |
Extension<MessageType, List<Type>> extension = checkNotLite(extensionLite); |
@@ -1124,9 +1178,8 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get the value of an extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public final <Type> Type getExtension( |
- final ExtensionLite<MessageType, Type> extensionLite) { |
+ @Override |
+ public final <Type> Type getExtension(final ExtensionLite<MessageType, Type> extensionLite) { |
Extension<MessageType, Type> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -1148,10 +1201,9 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
/** Get one element of a repeated extension. */ |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public final <Type> Type getExtension( |
- final ExtensionLite<MessageType, List<Type>> extensionLite, |
- final int index) { |
+ final ExtensionLite<MessageType, List<Type>> extensionLite, final int index) { |
Extension<MessageType, List<Type>> extension = checkNotLite(extensionLite); |
verifyExtensionContainingType(extension); |
@@ -1404,10 +1456,9 @@ public abstract class GeneratedMessage extends AbstractMessage |
// obtained. |
return new GeneratedExtension<ContainingType, Type>( |
new CachedDescriptorRetriever() { |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
+ @Override |
public FieldDescriptor loadDescriptor() { |
- return scope.getDescriptorForType().getExtensions() |
- .get(descriptorIndex); |
+ return scope.getDescriptorForType().getExtensions().get(descriptorIndex); |
} |
}, |
singularType, |
@@ -1435,6 +1486,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
private volatile FieldDescriptor descriptor; |
protected abstract FieldDescriptor loadDescriptor(); |
+ @Override |
public FieldDescriptor getDescriptor() { |
if (descriptor == null) { |
synchronized (this) { |
@@ -1464,6 +1516,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
// obtained. |
return new GeneratedExtension<ContainingType, Type>( |
new CachedDescriptorRetriever() { |
+ @Override |
protected FieldDescriptor loadDescriptor() { |
return scope.getDescriptorForType().findFieldByName(name); |
} |
@@ -1490,17 +1543,18 @@ public abstract class GeneratedMessage extends AbstractMessage |
// used to obtain the extension's FieldDescriptor. |
return new GeneratedExtension<ContainingType, Type>( |
new CachedDescriptorRetriever() { |
+ @Override |
protected FieldDescriptor loadDescriptor() { |
try { |
- Class clazz = |
- singularType.getClassLoader().loadClass(descriptorOuterClass); |
- FileDescriptor file = |
- (FileDescriptor) clazz.getField("descriptor").get(null); |
+ Class clazz = singularType.getClassLoader().loadClass(descriptorOuterClass); |
+ FileDescriptor file = (FileDescriptor) clazz.getField("descriptor").get(null); |
return file.findExtensionByName(extensionName); |
} catch (Exception e) { |
throw new RuntimeException( |
- "Cannot load descriptors: " + descriptorOuterClass + |
- " is not a valid descriptor class name", e); |
+ "Cannot load descriptors: " |
+ + descriptorOuterClass |
+ + " is not a valid descriptor class name", |
+ e); |
} |
} |
}, |
@@ -1582,12 +1636,13 @@ public abstract class GeneratedMessage extends AbstractMessage |
if (descriptorRetriever != null) { |
throw new IllegalStateException("Already initialized."); |
} |
- descriptorRetriever = new ExtensionDescriptorRetriever() { |
- //@Override (Java 1.6 override semantics, but we must support 1.5) |
- public FieldDescriptor getDescriptor() { |
- return descriptor; |
- } |
- }; |
+ descriptorRetriever = |
+ new ExtensionDescriptorRetriever() { |
+ @Override |
+ public FieldDescriptor getDescriptor() { |
+ return descriptor; |
+ } |
+ }; |
} |
private ExtensionDescriptorRetriever descriptorRetriever; |
@@ -1597,6 +1652,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
private final Method enumGetValueDescriptor; |
private final ExtensionType extensionType; |
+ @Override |
public FieldDescriptor getDescriptor() { |
if (descriptorRetriever == null) { |
throw new IllegalStateException( |
@@ -1609,10 +1665,12 @@ public abstract class GeneratedMessage extends AbstractMessage |
* If the extension is an embedded message or group, returns the default |
* instance of the message. |
*/ |
+ @Override |
public Message getMessageDefaultInstance() { |
return messageDefaultInstance; |
} |
+ @Override |
protected ExtensionType getExtensionType() { |
return extensionType; |
} |
@@ -1623,7 +1681,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
* EnumValueDescriptors but the native accessors use the generated enum |
* type. |
*/ |
- // @Override |
+ @Override |
@SuppressWarnings("unchecked") |
protected Object fromReflectionType(final Object value) { |
FieldDescriptor descriptor = getDescriptor(); |
@@ -1648,7 +1706,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
* Like {@link #fromReflectionType(Object)}, but if the type is a repeated |
* type, this converts a single element. |
*/ |
- // @Override |
+ @Override |
protected Object singularFromReflectionType(final Object value) { |
FieldDescriptor descriptor = getDescriptor(); |
switch (descriptor.getJavaType()) { |
@@ -1672,7 +1730,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
* EnumValueDescriptors but the native accessors use the generated enum |
* type. |
*/ |
- // @Override |
+ @Override |
@SuppressWarnings("unchecked") |
protected Object toReflectionType(final Object value) { |
FieldDescriptor descriptor = getDescriptor(); |
@@ -1696,7 +1754,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
* Like {@link #toReflectionType(Object)}, but if the type is a repeated |
* type, this converts a single element. |
*/ |
- // @Override |
+ @Override |
protected Object singularToReflectionType(final Object value) { |
FieldDescriptor descriptor = getDescriptor(); |
switch (descriptor.getJavaType()) { |
@@ -1707,22 +1765,22 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
} |
- // @Override |
+ @Override |
public int getNumber() { |
return getDescriptor().getNumber(); |
} |
- // @Override |
+ @Override |
public WireFormat.FieldType getLiteType() { |
return getDescriptor().getLiteType(); |
} |
- // @Override |
+ @Override |
public boolean isRepeated() { |
return getDescriptor().isRepeated(); |
} |
- // @Override |
+ @Override |
@SuppressWarnings("unchecked") |
public Type getDefaultValue() { |
if (isRepeated()) { |
@@ -2072,49 +2130,57 @@ public abstract class GeneratedMessage extends AbstractMessage |
return ((Internal.EnumLite) invokeOrDie(caseMethodBuilder, builder)).getNumber(); |
} |
+ @Override |
public Object get(final GeneratedMessage message) { |
return invokeOrDie(getMethod, message); |
} |
+ @Override |
public Object get(GeneratedMessage.Builder builder) { |
return invokeOrDie(getMethodBuilder, builder); |
} |
+ @Override |
public Object getRaw(final GeneratedMessage message) { |
return get(message); |
} |
+ @Override |
public Object getRaw(GeneratedMessage.Builder builder) { |
return get(builder); |
} |
+ @Override |
public void set(final Builder builder, final Object value) { |
invokeOrDie(setMethod, builder, value); |
} |
- public Object getRepeated(final GeneratedMessage message, |
- final int index) { |
+ @Override |
+ public Object getRepeated(final GeneratedMessage message, final int index) { |
throw new UnsupportedOperationException( |
"getRepeatedField() called on a singular field."); |
} |
- public Object getRepeatedRaw(final GeneratedMessage message, |
- final int index) { |
+ @Override |
+ public Object getRepeatedRaw(final GeneratedMessage message, final int index) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldRaw() called on a singular field."); |
} |
+ @Override |
public Object getRepeated(GeneratedMessage.Builder builder, int index) { |
throw new UnsupportedOperationException( |
"getRepeatedField() called on a singular field."); |
} |
- public Object getRepeatedRaw(GeneratedMessage.Builder builder, |
- int index) { |
+ @Override |
+ public Object getRepeatedRaw(GeneratedMessage.Builder builder, int index) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldRaw() called on a singular field."); |
} |
- public void setRepeated(final Builder builder, final int index, |
- final Object value) { |
+ @Override |
+ public void setRepeated(final Builder builder, final int index, final Object value) { |
throw new UnsupportedOperationException( |
"setRepeatedField() called on a singular field."); |
} |
+ @Override |
public void addRepeated(final Builder builder, final Object value) { |
throw new UnsupportedOperationException( |
"addRepeatedField() called on a singular field."); |
} |
+ @Override |
public boolean has(final GeneratedMessage message) { |
if (!hasHasMethod) { |
if (isOneofField) { |
@@ -2124,6 +2190,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
return (Boolean) invokeOrDie(hasMethod, message); |
} |
+ @Override |
public boolean has(GeneratedMessage.Builder builder) { |
if (!hasHasMethod) { |
if (isOneofField) { |
@@ -2133,27 +2200,32 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
return (Boolean) invokeOrDie(hasMethodBuilder, builder); |
} |
+ @Override |
public int getRepeatedCount(final GeneratedMessage message) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldSize() called on a singular field."); |
} |
+ @Override |
public int getRepeatedCount(GeneratedMessage.Builder builder) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldSize() called on a singular field."); |
} |
+ @Override |
public void clear(final Builder builder) { |
invokeOrDie(clearMethod, builder); |
} |
+ @Override |
public Message.Builder newBuilder() { |
throw new UnsupportedOperationException( |
"newBuilderForField() called on a non-Message type."); |
} |
+ @Override |
public Message.Builder getBuilder(GeneratedMessage.Builder builder) { |
throw new UnsupportedOperationException( |
"getFieldBuilder() called on a non-Message type."); |
} |
- public Message.Builder getRepeatedBuilder(GeneratedMessage.Builder builder, |
- int index) { |
+ @Override |
+ public Message.Builder getRepeatedBuilder(GeneratedMessage.Builder builder, int index) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldBuilder() called on a non-Message type."); |
} |
@@ -2197,18 +2269,23 @@ public abstract class GeneratedMessage extends AbstractMessage |
clearMethod = getMethodOrDie(builderClass, "clear" + camelCaseName); |
} |
+ @Override |
public Object get(final GeneratedMessage message) { |
return invokeOrDie(getMethod, message); |
} |
+ @Override |
public Object get(GeneratedMessage.Builder builder) { |
return invokeOrDie(getMethodBuilder, builder); |
} |
+ @Override |
public Object getRaw(final GeneratedMessage message) { |
return get(message); |
} |
+ @Override |
public Object getRaw(GeneratedMessage.Builder builder) { |
return get(builder); |
} |
+ @Override |
public void set(final Builder builder, final Object value) { |
// Add all the elements individually. This serves two purposes: |
// 1) Verifies that each element has the correct type. |
@@ -2219,54 +2296,64 @@ public abstract class GeneratedMessage extends AbstractMessage |
addRepeated(builder, element); |
} |
} |
- public Object getRepeated(final GeneratedMessage message, |
- final int index) { |
+ @Override |
+ public Object getRepeated(final GeneratedMessage message, final int index) { |
return invokeOrDie(getRepeatedMethod, message, index); |
} |
+ @Override |
public Object getRepeated(GeneratedMessage.Builder builder, int index) { |
return invokeOrDie(getRepeatedMethodBuilder, builder, index); |
} |
+ @Override |
public Object getRepeatedRaw(GeneratedMessage message, int index) { |
return getRepeated(message, index); |
} |
- public Object getRepeatedRaw(GeneratedMessage.Builder builder, |
- int index) { |
+ @Override |
+ public Object getRepeatedRaw(GeneratedMessage.Builder builder, int index) { |
return getRepeated(builder, index); |
} |
- public void setRepeated(final Builder builder, |
- final int index, final Object value) { |
+ @Override |
+ public void setRepeated(final Builder builder, final int index, final Object value) { |
invokeOrDie(setRepeatedMethod, builder, index, value); |
} |
+ @Override |
public void addRepeated(final Builder builder, final Object value) { |
invokeOrDie(addRepeatedMethod, builder, value); |
} |
+ @Override |
public boolean has(final GeneratedMessage message) { |
throw new UnsupportedOperationException( |
"hasField() called on a repeated field."); |
} |
+ @Override |
public boolean has(GeneratedMessage.Builder builder) { |
throw new UnsupportedOperationException( |
"hasField() called on a repeated field."); |
} |
+ @Override |
public int getRepeatedCount(final GeneratedMessage message) { |
return (Integer) invokeOrDie(getCountMethod, message); |
} |
+ @Override |
public int getRepeatedCount(GeneratedMessage.Builder builder) { |
return (Integer) invokeOrDie(getCountMethodBuilder, builder); |
} |
+ @Override |
public void clear(final Builder builder) { |
invokeOrDie(clearMethod, builder); |
} |
+ @Override |
public Message.Builder newBuilder() { |
throw new UnsupportedOperationException( |
"newBuilderForField() called on a non-Message type."); |
} |
+ @Override |
public Message.Builder getBuilder(GeneratedMessage.Builder builder) { |
throw new UnsupportedOperationException( |
"getFieldBuilder() called on a non-Message type."); |
} |
- public Message.Builder getRepeatedBuilder(GeneratedMessage.Builder builder, |
- int index) { |
+ @Override |
+ public Message.Builder getRepeatedBuilder(GeneratedMessage.Builder builder, int index) { |
throw new UnsupportedOperationException( |
"getRepeatedFieldBuilder() called on a non-Message type."); |
} |
@@ -2303,6 +2390,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
field.getNumber()); |
} |
+ @Override |
public Object get(GeneratedMessage message) { |
List result = new ArrayList(); |
for (int i = 0; i < getRepeatedCount(message); i++) { |
@@ -2311,6 +2399,7 @@ public abstract class GeneratedMessage extends AbstractMessage |
return Collections.unmodifiableList(result); |
} |
+ @Override |
public Object get(Builder builder) { |
List result = new ArrayList(); |
for (int i = 0; i < getRepeatedCount(builder); i++) { |
@@ -2319,14 +2408,17 @@ public abstract class GeneratedMessage extends AbstractMessage |
return Collections.unmodifiableList(result); |
} |
+ @Override |
public Object getRaw(GeneratedMessage message) { |
return get(message); |
} |
+ @Override |
public Object getRaw(GeneratedMessage.Builder builder) { |
return get(builder); |
} |
+ @Override |
public void set(Builder builder, Object value) { |
clear(builder); |
for (Object entry : (List) value) { |
@@ -2334,63 +2426,76 @@ public abstract class GeneratedMessage extends AbstractMessage |
} |
} |
+ @Override |
public Object getRepeated(GeneratedMessage message, int index) { |
return getMapField(message).getList().get(index); |
} |
+ @Override |
public Object getRepeated(Builder builder, int index) { |
return getMapField(builder).getList().get(index); |
} |
+ @Override |
public Object getRepeatedRaw(GeneratedMessage message, int index) { |
return getRepeated(message, index); |
} |
+ @Override |
public Object getRepeatedRaw(Builder builder, int index) { |
return getRepeated(builder, index); |
} |
+ @Override |
public void setRepeated(Builder builder, int index, Object value) { |
getMutableMapField(builder).getMutableList().set(index, (Message) value); |
} |
+ @Override |
public void addRepeated(Builder builder, Object value) { |
getMutableMapField(builder).getMutableList().add((Message) value); |
} |
+ @Override |
public boolean has(GeneratedMessage message) { |
throw new UnsupportedOperationException( |
"hasField() is not supported for repeated fields."); |
} |
+ @Override |
public boolean has(Builder builder) { |
throw new UnsupportedOperationException( |
"hasField() is not supported for repeated fields."); |
} |
+ @Override |
public int getRepeatedCount(GeneratedMessage message) { |
return getMapField(message).getList().size(); |
} |
+ @Override |
public int getRepeatedCount(Builder builder) { |
return getMapField(builder).getList().size(); |
} |
+ @Override |
public void clear(Builder builder) { |
getMutableMapField(builder).getMutableList().clear(); |
} |
+ @Override |
public com.google.protobuf.Message.Builder newBuilder() { |
return mapEntryMessageDefaultInstance.newBuilderForType(); |
} |
+ @Override |
public com.google.protobuf.Message.Builder getBuilder(Builder builder) { |
throw new UnsupportedOperationException( |
"Nested builder not supported for map fields."); |
} |
- public com.google.protobuf.Message.Builder getRepeatedBuilder( |
- Builder builder, int index) { |
+ @Override |
+ public com.google.protobuf.Message.Builder getRepeatedBuilder(Builder builder, int index) { |
throw new UnsupportedOperationException( |
"Nested builder not supported for map fields."); |
} |