public abstract class GeneratedMessage extends AbstractMessage implements java.io.Serializable
| Modifier and Type | Class and Description |
|---|---|
static class |
GeneratedMessage.Builder<BuilderType extends GeneratedMessage.Builder> |
protected static interface |
GeneratedMessage.BuilderParent
Interface for the parent of a Builder that allows the builder to
communicate invalidations back to the parent for use when using nested
builders.
|
static class |
GeneratedMessage.ExtendableBuilder<MessageType extends GeneratedMessage.ExtendableMessage,BuilderType extends GeneratedMessage.ExtendableBuilder>
Generated message builders for message types that contain extension ranges
subclass this.
|
static class |
GeneratedMessage.ExtendableMessage<MessageType extends GeneratedMessage.ExtendableMessage>
Generated message classes for message types that contain extension ranges
subclass this.
|
static interface |
GeneratedMessage.ExtendableMessageOrBuilder<MessageType extends GeneratedMessage.ExtendableMessage> |
static class |
GeneratedMessage.FieldAccessorTable
Users should ignore this class.
|
static class |
GeneratedMessage.GeneratedExtension<ContainingType extends Message,Type>
Type used to represent generated extensions.
|
| Modifier and Type | Field and Description |
|---|---|
protected static boolean |
alwaysUseFieldBuilders
For testing.
|
memoizedHashCode| Modifier | Constructor and Description |
|---|---|
protected |
GeneratedMessage() |
protected |
GeneratedMessage(GeneratedMessage.Builder<?> builder) |
| Modifier and Type | Method and Description |
|---|---|
java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> |
getAllFields()
Returns a collection of all the fields in this message which are set
and their corresponding values.
|
Descriptors.Descriptor |
getDescriptorForType()
Get the message's type's descriptor.
|
java.lang.Object |
getField(Descriptors.FieldDescriptor field)
Obtains the value of the given field, or the default value if it is
not set.
|
Descriptors.FieldDescriptor |
getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
TODO(jieluo): Clear it when all subclasses have implemented this method.
|
Parser<? extends GeneratedMessage> |
getParserForType()
Gets the parser for a message of the same type as this message.
|
java.lang.Object |
getRepeatedField(Descriptors.FieldDescriptor field,
int index)
Gets an element of a repeated field.
|
int |
getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Gets the number of elements of a repeated field.
|
UnknownFieldSet |
getUnknownFields()
Get the
UnknownFieldSet for this message. |
boolean |
hasField(Descriptors.FieldDescriptor field)
Returns true if the given field is set.
|
boolean |
hasOneof(Descriptors.OneofDescriptor oneof)
TODO(jieluo): Clear it when all subclasses have implemented this method.
|
protected abstract GeneratedMessage.FieldAccessorTable |
internalGetFieldAccessorTable()
Get the FieldAccessorTable for this type.
|
boolean |
isInitialized()
Returns true if all required fields in the message and all embedded
messages are set, false otherwise.
|
protected void |
makeExtensionsImmutable()
Used by parsing constructors in generated classes.
|
protected abstract Message.Builder |
newBuilderForType(GeneratedMessage.BuilderParent parent) |
static <ContainingType extends Message,Type> |
newFileScopedGeneratedExtension(java.lang.Class singularType,
Message defaultInstance)
For use by generated code only.
|
static <ContainingType extends Message,Type> |
newFileScopedGeneratedExtension(java.lang.Class singularType,
Message defaultInstance,
java.lang.String descriptorOuterClass,
java.lang.String extensionName)
Used in proto1 generated code only.
|
static <ContainingType extends Message,Type> |
newMessageScopedGeneratedExtension(Message scope,
int descriptorIndex,
java.lang.Class singularType,
Message defaultInstance)
For use by generated code only.
|
static <ContainingType extends Message,Type> |
newMessageScopedGeneratedExtension(Message scope,
java.lang.String name,
java.lang.Class singularType,
Message defaultInstance)
Used in proto1 generated code only.
|
protected boolean |
parseUnknownField(CodedInputStream input,
UnknownFieldSet.Builder unknownFields,
ExtensionRegistryLite extensionRegistry,
int tag)
Called by subclasses to parse an unknown field.
|
protected java.lang.Object |
writeReplace()
Replaces this object in the output stream with a serialized form.
|
equals, findInitializationErrors, getInitializationErrorString, getSerializedSize, hashCode, hashFields, toString, writeTocheckByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeToclone, finalize, getClass, notify, notifyAll, wait, wait, waitnewBuilderForType, toBuildertoByteArray, toByteString, writeDelimitedTo, writeTogetDefaultInstanceForTypeprotected static boolean alwaysUseFieldBuilders
protected GeneratedMessage()
protected GeneratedMessage(GeneratedMessage.Builder<?> builder)
public Parser<? extends GeneratedMessage> getParserForType()
MessageLitegetParserForType in interface MessagegetParserForType in interface MessageLiteprotected abstract GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
public Descriptors.Descriptor getDescriptorForType()
MessageOrBuildergetDescriptor() method of generated message classes in that
this method is an abstract method of the Message interface
whereas getDescriptor() is a static method of a specific class.
They return the same thing.getDescriptorForType in interface MessageOrBuilderpublic boolean isInitialized()
MessageLiteOrBuilderisInitialized in interface MessageLiteOrBuilderisInitialized in class AbstractMessagepublic java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
MessageOrBuilderMessageOrBuilder.getField(Descriptors.FieldDescriptor) for each field. The map
is guaranteed to be a sorted map, so iterating over it will return fields
in order by field number.
getAllFields in interface MessageOrBuilderpublic boolean hasOneof(Descriptors.OneofDescriptor oneof)
AbstractMessagehasOneof in interface MessageOrBuilderhasOneof in class AbstractMessagepublic Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
AbstractMessagegetOneofFieldDescriptor in interface MessageOrBuildergetOneofFieldDescriptor in class AbstractMessagepublic boolean hasField(Descriptors.FieldDescriptor field)
MessageOrBuilderhasField in interface MessageOrBuilderpublic java.lang.Object getField(Descriptors.FieldDescriptor field)
MessageOrBuildergetField in interface MessageOrBuilderpublic int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
MessageOrBuildergetRepeatedFieldCount in interface MessageOrBuilderpublic java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
MessageOrBuildergetRepeatedField in interface MessageOrBuilderpublic UnknownFieldSet getUnknownFields()
MessageOrBuilderUnknownFieldSet for this message.getUnknownFields in interface MessageOrBuilderprotected boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag) throws java.io.IOException
true unless the tag is an end-group tag.java.io.IOExceptionprotected void makeExtensionsImmutable()
protected abstract Message.Builder newBuilderForType(GeneratedMessage.BuilderParent parent)
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newMessageScopedGeneratedExtension(Message scope, int descriptorIndex, java.lang.Class singularType, Message defaultInstance)
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newFileScopedGeneratedExtension(java.lang.Class singularType, Message defaultInstance)
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newMessageScopedGeneratedExtension(Message scope, java.lang.String name, java.lang.Class singularType, Message defaultInstance)
public static <ContainingType extends Message,Type> GeneratedMessage.GeneratedExtension<ContainingType,Type> newFileScopedGeneratedExtension(java.lang.Class singularType, Message defaultInstance, java.lang.String descriptorOuterClass, java.lang.String extensionName)
protected java.lang.Object writeReplace()
throws java.io.ObjectStreamException
return super.writeReplace();java.io.ObjectStreamException