Package com.google.protobuf
Class GeneratedMessage
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
- All Implemented Interfaces:
Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,MessageOrBuilder
,Serializable
- Direct Known Subclasses:
Any
,Api
,BoolValue
,BytesValue
,CompactThing
,CompactThings
,DescriptorProtos.DescriptorProto
,DescriptorProtos.DescriptorProto.ExtensionRange
,DescriptorProtos.DescriptorProto.ReservedRange
,DescriptorProtos.EnumDescriptorProto
,DescriptorProtos.EnumDescriptorProto.EnumReservedRange
,DescriptorProtos.EnumValueDescriptorProto
,DescriptorProtos.ExtensionRangeOptions.Declaration
,DescriptorProtos.FeatureSetDefaults
,DescriptorProtos.FeatureSetDefaults.FeatureSetEditionDefault
,DescriptorProtos.FieldDescriptorProto
,DescriptorProtos.FieldOptions.EditionDefault
,DescriptorProtos.FieldOptions.FeatureSupport
,DescriptorProtos.FileDescriptorProto
,DescriptorProtos.GeneratedCodeInfo
,DescriptorProtos.GeneratedCodeInfo.Annotation
,DescriptorProtos.MethodDescriptorProto
,DescriptorProtos.OneofDescriptorProto
,DescriptorProtos.ServiceDescriptorProto
,DescriptorProtos.SourceCodeInfo.Location
,DescriptorProtos.UninterpretedOption
,DescriptorProtos.UninterpretedOption.NamePart
,DoubleValue
,Duration
,Empty
,Enum
,EnumValue
,Field
,FieldMask
,FloatValue
,GeneratedMessage.ExtendableMessage
,GetFileDescriptorSetRequest
,GetFileDescriptorSetResponse
,GetThingRequest
,GetThingResponse
,GetThingsRequest
,GetThingsResponse
,Int32Value
,Int64Value
,JavaFeaturesProto.JavaFeatures
,LinksMetadata
,ListValue
,Log
,Log.Entry
,Log.Inline
,Method
,Mixin
,Option
,PluginProtos.CodeGeneratorRequest
,PluginProtos.CodeGeneratorResponse
,PluginProtos.CodeGeneratorResponse.File
,PluginProtos.Version
,SourceContext
,StringValue
,Struct
,TextThing
,TextThings
,Thing
,ThingMetadata
,Things
,Timestamp
,Type
,UInt32Value
,UInt64Value
,Validation
,Validations
,Value
,Value
,Value.LangString
,Value.List
,Value.Literal
All generated protocol message classes extend this class. This class implements most of the
Message and Builder interfaces using Java reflection. Users can ignore this class and pretend
that generated messages implement the Message interface directly.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
Builder class forGeneratedMessage
.static class
GeneratedMessage.ExtendableBuilder<MessageT extends GeneratedMessage.ExtendableMessage<MessageT>,
BuilderT extends GeneratedMessage.ExtendableBuilder<MessageT, BuilderT>> Generated message builders for message types that contain extension ranges subclass this.static class
Generated message classes for message types that contain extension ranges subclass this.static interface
GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends GeneratedMessage.ExtendableMessage<MessageT>>
ExtendsMessageOrBuilder
with extension-related functions.static class
Users should ignore this class.static class
Type used to represent generated extensions.protected static final class
This class is used to make a generated protected method inaccessible from user's code (e.g., thenewInstance(com.google.protobuf.GeneratedMessage.UnusedPrivateParameter)
method below).Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
AbstractMessage.BuilderParent
Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static boolean
For testing.protected UnknownFieldSet
For use by generated code only.Fields inherited from class com.google.protobuf.AbstractMessage
memoizedSize
Fields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
protected
GeneratedMessage
(GeneratedMessage.Builder<?> builder) -
Method Summary
Modifier and TypeMethodDescriptionprotected static boolean
protected static int
computeStringSize
(int fieldNumber, Object value) protected static int
computeStringSizeNoTag
(Object value) protected static com.google.protobuf.Internal.BooleanList
protected static com.google.protobuf.Internal.DoubleList
protected static com.google.protobuf.Internal.FloatList
protected static com.google.protobuf.Internal.IntList
protected static <T> com.google.protobuf.Internal.ProtobufList
<T> protected static com.google.protobuf.Internal.LongList
Returns a collection of all the fields in this message which are set and their corresponding values.Get the message's type's descriptor.Obtains the value of the given field, or the default value if it is not set.Obtains the FieldDescriptor if the given oneof is set.com.google.protobuf.Parser
<? extends GeneratedMessage> TODO: Remove this unnecessary intermediate implementation of this method.getRepeatedField
(Descriptors.FieldDescriptor field, int index) Gets an element of a repeated field.int
Gets the number of elements of a repeated field.int
Get theUnknownFieldSet
for this message.boolean
Returns true if the given field is set.boolean
Returns true if the given oneof is set.protected abstract GeneratedMessage.FieldAccessorTable
Get the FieldAccessorTable for this type.protected MapField
internalGetMapField
(int fieldNumber) Deprecated.protected MapFieldReflectionAccessor
internalGetMapFieldReflection
(int fieldNumber) Gets the map field with the given field number.boolean
protected static boolean
isStringEmpty
(Object value) protected static <ListT extends com.google.protobuf.Internal.ProtobufList<?>>
ListTmakeMutableCopy
(ListT list) protected static <ListT extends com.google.protobuf.Internal.ProtobufList<?>>
ListTmakeMutableCopy
(ListT list, int minCapacity) protected void
mergeFromAndMakeImmutableInternal
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) Deprecated.use newBuilder().mergeFrom() insteadstatic <ContainingT extends Message,
T>
GeneratedMessage.GeneratedExtension<ContainingT, T> newFileScopedGeneratedExtension
(Class<?> singularType, Message defaultInstance) For use by generated code only.protected Object
Creates a new instance of this message type.static <ContainingT extends Message,
T>
GeneratedMessage.GeneratedExtension<ContainingT, T> newMessageScopedGeneratedExtension
(Message scope, int descriptorIndex, Class<?> singularType, Message defaultInstance) For use by generated code only.protected static <M extends Message>
MparseDelimitedWithIOException
(com.google.protobuf.Parser<M> parser, InputStream input) Used by generated code.protected static <M extends Message>
MparseDelimitedWithIOException
(com.google.protobuf.Parser<M> parser, InputStream input, com.google.protobuf.ExtensionRegistryLite extensions) Used by generated code.protected boolean
parseUnknownField
(com.google.protobuf.CodedInputStream input, UnknownFieldSet.Builder unknownFields, com.google.protobuf.ExtensionRegistryLite extensionRegistry, int tag) Called by subclasses to parse an unknown field.protected boolean
parseUnknownFieldProto3
(com.google.protobuf.CodedInputStream input, UnknownFieldSet.Builder unknownFields, com.google.protobuf.ExtensionRegistryLite extensionRegistry, int tag) Delegates to parseUnknownField.protected static <M extends Message>
MparseWithIOException
(com.google.protobuf.Parser<M> parser, com.google.protobuf.CodedInputStream input) Used by generated code.protected static <M extends Message>
MparseWithIOException
(com.google.protobuf.Parser<M> parser, com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensions) Used by generated code.protected static <M extends Message>
MparseWithIOException
(com.google.protobuf.Parser<M> parser, InputStream input) Used by generated code.protected static <M extends Message>
MparseWithIOException
(com.google.protobuf.Parser<M> parser, InputStream input, com.google.protobuf.ExtensionRegistryLite extensions) Used by generated code.protected static <V> void
serializeBooleanMapTo
(com.google.protobuf.CodedOutputStream out, MapField<Boolean, V> field, MapEntry<Boolean, V> defaultEntry, int fieldNumber) protected static <V> void
serializeIntegerMapTo
(com.google.protobuf.CodedOutputStream out, MapField<Integer, V> field, MapEntry<Integer, V> defaultEntry, int fieldNumber) protected static <V> void
serializeLongMapTo
(com.google.protobuf.CodedOutputStream out, MapField<Long, V> field, MapEntry<Long, V> defaultEntry, int fieldNumber) protected static <V> void
serializeStringMapTo
(com.google.protobuf.CodedOutputStream out, MapField<String, V> field, MapEntry<String, V> defaultEntry, int fieldNumber) protected Object
Replaces this object in the output stream with a serialized form.protected static void
writeString
(com.google.protobuf.CodedOutputStream output, int fieldNumber, Object value) protected static void
writeStringNoTag
(com.google.protobuf.CodedOutputStream output, Object value) void
writeTo
(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.AbstractMessage
equals, findInitializationErrors, getInitializationErrorString, hashCode, hashFields, newBuilderForType, toString
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.protobuf.Message
newBuilderForType, toBuilder
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from interface com.google.protobuf.MessageOrBuilder
getDefaultInstanceForType
-
Field Details
-
alwaysUseFieldBuilders
protected static boolean alwaysUseFieldBuildersFor testing. Allows a test to disable the optimization that avoids using field builders for nested messages until they are requested. By disabling this optimization, existing tests can be reused to test the field builders. -
unknownFields
For use by generated code only.TODO: mark this private and final (breaking change)
-
-
Constructor Details
-
GeneratedMessage
protected GeneratedMessage() -
GeneratedMessage
-
-
Method Details
-
getParserForType
TODO: Remove this unnecessary intermediate implementation of this method.- Specified by:
getParserForType
in interfaceMessage
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
-
internalGetFieldAccessorTable
Get the FieldAccessorTable for this type. We can't have the message class pass this in to the constructor because of bootstrapping trouble with DescriptorProtos. -
getDescriptorForType
Description copied from interface:MessageOrBuilder
Get the message's type's descriptor. This differs from thegetDescriptor()
method of generated message classes in that this method is an abstract method of theMessage
interface whereasgetDescriptor()
is a static method of a specific class. They return the same thing.- Specified by:
getDescriptorForType
in interfaceMessageOrBuilder
-
mergeFromAndMakeImmutableInternal
@Deprecated protected void mergeFromAndMakeImmutableInternal(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException Deprecated.use newBuilder().mergeFrom() insteadTODO: This method should be removed. It enables parsing directly into an "immutable" message. Have to leave it for now to support old gencode.- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
isInitialized
public boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classAbstractMessage
-
getAllFields
Description copied from interface:MessageOrBuilder
Returns a collection of all the fields in this message which are set and their corresponding values. A singular ("required" or "optional") field is set iff hasField() returns true for that field. A "repeated" field is set iff getRepeatedFieldCount() is greater than zero. The values are exactly what would be returned by callingMessageOrBuilder.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.
If this is for a builder, the returned map may or may not reflect future changes to the builder. Either way, the returned map is itself unmodifiable.- Specified by:
getAllFields
in interfaceMessageOrBuilder
-
hasOneof
Description copied from interface:MessageOrBuilder
Returns true if the given oneof is set.- Specified by:
hasOneof
in interfaceMessageOrBuilder
- Overrides:
hasOneof
in classAbstractMessage
-
getOneofFieldDescriptor
Description copied from interface:MessageOrBuilder
Obtains the FieldDescriptor if the given oneof is set. Returns null if no field is set.- Specified by:
getOneofFieldDescriptor
in interfaceMessageOrBuilder
- Overrides:
getOneofFieldDescriptor
in classAbstractMessage
-
hasField
Description copied from interface:MessageOrBuilder
Returns true if the given field is set. This is exactly equivalent to calling the generated "has" accessor method corresponding to the field. The return value of hasField() is semantically meaningful only for fields where field.hasPresence() == true.- Specified by:
hasField
in interfaceMessageOrBuilder
-
getField
Description copied from interface:MessageOrBuilder
Obtains the value of the given field, or the default value if it is not set. For primitive fields, the boxed primitive value is returned. For enum fields, the EnumValueDescriptor for the value is returned. For embedded message fields, the sub-message is returned. For repeated fields, a java.util.List is returned.- Specified by:
getField
in interfaceMessageOrBuilder
-
getRepeatedFieldCount
Description copied from interface:MessageOrBuilder
Gets the number of elements of a repeated field. This is exactly equivalent to calling the generated "Count" accessor method corresponding to the field.- Specified by:
getRepeatedFieldCount
in interfaceMessageOrBuilder
-
getRepeatedField
Description copied from interface:MessageOrBuilder
Gets an element of a repeated field. For primitive fields, the boxed primitive value is returned. For enum fields, the EnumValueDescriptor for the value is returned. For embedded message fields, the sub-message is returned.- Specified by:
getRepeatedField
in interfaceMessageOrBuilder
-
getUnknownFields
Description copied from interface:MessageOrBuilder
Get theUnknownFieldSet
for this message.- Specified by:
getUnknownFields
in interfaceMessageOrBuilder
-
parseUnknownField
protected boolean parseUnknownField(com.google.protobuf.CodedInputStream input, UnknownFieldSet.Builder unknownFields, com.google.protobuf.ExtensionRegistryLite extensionRegistry, int tag) throws IOException Called by subclasses to parse an unknown field.TODO remove this method
- Returns:
true
unless the tag is an end-group tag.- Throws:
IOException
-
parseUnknownFieldProto3
protected boolean parseUnknownFieldProto3(com.google.protobuf.CodedInputStream input, UnknownFieldSet.Builder unknownFields, com.google.protobuf.ExtensionRegistryLite extensionRegistry, int tag) throws IOException Delegates to parseUnknownField. This method is obsolete, but we must retain it for compatibility with older generated code.TODO remove this method
- Throws:
IOException
-
parseWithIOException
protected static <M extends Message> M parseWithIOException(com.google.protobuf.Parser<M> parser, InputStream input) throws IOException Used by generated code.- Throws:
IOException
-
parseWithIOException
protected static <M extends Message> M parseWithIOException(com.google.protobuf.Parser<M> parser, InputStream input, com.google.protobuf.ExtensionRegistryLite extensions) throws IOException Used by generated code.- Throws:
IOException
-
parseWithIOException
protected static <M extends Message> M parseWithIOException(com.google.protobuf.Parser<M> parser, com.google.protobuf.CodedInputStream input) throws IOException Used by generated code.- Throws:
IOException
-
parseWithIOException
protected static <M extends Message> M parseWithIOException(com.google.protobuf.Parser<M> parser, com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensions) throws IOException Used by generated code.- Throws:
IOException
-
parseDelimitedWithIOException
protected static <M extends Message> M parseDelimitedWithIOException(com.google.protobuf.Parser<M> parser, InputStream input) throws IOException Used by generated code.- Throws:
IOException
-
parseDelimitedWithIOException
protected static <M extends Message> M parseDelimitedWithIOException(com.google.protobuf.Parser<M> parser, InputStream input, com.google.protobuf.ExtensionRegistryLite extensions) throws IOException Used by generated code.- Throws:
IOException
-
canUseUnsafe
protected static boolean canUseUnsafe() -
emptyIntList
protected static com.google.protobuf.Internal.IntList emptyIntList() -
emptyLongList
protected static com.google.protobuf.Internal.LongList emptyLongList() -
emptyFloatList
protected static com.google.protobuf.Internal.FloatList emptyFloatList() -
emptyDoubleList
protected static com.google.protobuf.Internal.DoubleList emptyDoubleList() -
emptyBooleanList
protected static com.google.protobuf.Internal.BooleanList emptyBooleanList() -
makeMutableCopy
protected static <ListT extends com.google.protobuf.Internal.ProtobufList<?>> ListT makeMutableCopy(ListT list) -
makeMutableCopy
protected static <ListT extends com.google.protobuf.Internal.ProtobufList<?>> ListT makeMutableCopy(ListT list, int minCapacity) -
emptyList
-
writeTo
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classAbstractMessage
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classAbstractMessage
-
newInstance
Creates a new instance of this message type. Overridden in the generated code. -
newMessageScopedGeneratedExtension
public static <ContainingT extends Message,T> GeneratedMessage.GeneratedExtension<ContainingT,T> newMessageScopedGeneratedExtension(Message scope, int descriptorIndex, Class<?> singularType, Message defaultInstance) For use by generated code only. -
newFileScopedGeneratedExtension
public static <ContainingT extends Message,T> GeneratedMessage.GeneratedExtension<ContainingT,T> newFileScopedGeneratedExtension(Class<?> singularType, Message defaultInstance) For use by generated code only. -
internalGetMapFieldReflection
Gets the map field with the given field number. This method should be overridden in the generated message class if the message contains map fields.Unlike other field types, reflection support for map fields can't be implemented based on generated public API because we need to access a map field as a list in reflection API but the generated API only allows us to access it as a map. This method returns the underlying map field directly and thus enables us to access the map field as a list.
-
internalGetMapField
Deprecated.TODO: Remove, exists for compatibility with generated code. -
writeReplace
Replaces this object in the output stream with a serialized form. Part of Java's serialization magic. Generated sub-classes must override this method by callingreturn super.writeReplace();
- Returns:
- a SerializedForm of this message
- Throws:
ObjectStreamException
-
isStringEmpty
-
computeStringSize
-
computeStringSizeNoTag
-
writeString
protected static void writeString(com.google.protobuf.CodedOutputStream output, int fieldNumber, Object value) throws IOException - Throws:
IOException
-
writeStringNoTag
protected static void writeStringNoTag(com.google.protobuf.CodedOutputStream output, Object value) throws IOException - Throws:
IOException
-
serializeIntegerMapTo
protected static <V> void serializeIntegerMapTo(com.google.protobuf.CodedOutputStream out, MapField<Integer, V> field, MapEntry<Integer, throws IOExceptionV> defaultEntry, int fieldNumber) - Throws:
IOException
-
serializeLongMapTo
protected static <V> void serializeLongMapTo(com.google.protobuf.CodedOutputStream out, MapField<Long, V> field, MapEntry<Long, throws IOExceptionV> defaultEntry, int fieldNumber) - Throws:
IOException
-
serializeStringMapTo
protected static <V> void serializeStringMapTo(com.google.protobuf.CodedOutputStream out, MapField<String, V> field, MapEntry<String, throws IOExceptionV> defaultEntry, int fieldNumber) - Throws:
IOException
-
serializeBooleanMapTo
protected static <V> void serializeBooleanMapTo(com.google.protobuf.CodedOutputStream out, MapField<Boolean, V> field, MapEntry<Boolean, throws IOExceptionV> defaultEntry, int fieldNumber) - Throws:
IOException
-