Package com.google.protobuf

# Class GeneratedMessageV3

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessageV3

All Implemented Interfaces:
  `Message`, `MessageLite`, `MessageLiteOrBuilder`, `MessageOrBuilder`, `Serializable`

Direct Known Subclasses:
  `Any`, `Api`, `BoolValue`, `BytesValue`, `ClientWireProtocol.AttachToQuery`, `ClientWireProtocol.Authenticator`, `ClientWireProtocol.CancelQuery`, `ClientWireProtocol.CancelQueryResponse`, `ClientWireProtocol.CheckDataRequest`, `ClientWireProtocol.CheckDataResponse`, `ClientWireProtocol.ClearCache`, `ClientWireProtocol.ClientConnection`, `ClientWireProtocol.ClientConnection2`, `ClientWireProtocol.ClientConnection2Response`, `ClientWireProtocol.ClientConnectionGCM`, `ClientWireProtocol.ClientConnectionGCM2`, `ClientWireProtocol.ClientConnectionGCM2Response`, `ClientWireProtocol.ClientConnectionGCMResponse`, `ClientWireProtocol.ClientConnectionRefreshSession`, `ClientWireProtocol.ClientConnectionRefreshSessionResponse`, `ClientWireProtocol.ClientConnectionRefreshToken`, `ClientWireProtocol.ClientConnectionRefreshTokenResponse`, `ClientWireProtocol.ClientConnectionResponse`, `ClientWireProtocol.ClientConnectionSecurityToken`, `ClientWireProtocol.ClientConnectionSecurityTokenResponse`, `ClientWireProtocol.ClientConnectionSSO`, `ClientWireProtocol.ClientConnectionSSO2`, `ClientWireProtocol.ClientConnectionSSO2Response`, `ClientWireProtocol.ClientConnectionSSOResponse`, `ClientWireProtocol.CloseConnection`, `ClientWireProtocol.CloseResultSet`, `ClientWireProtocol.CompletedQueriesResponse`, `ClientWireProtocol.CompletedQueriesRow`, `ClientWireProtocol.ConfirmationResponse`, `ClientWireProtocol.ExecuteExplain`, `ClientWireProtocol.ExecuteExplainForSpark`, `ClientWireProtocol.ExecuteExport`, `ClientWireProtocol.ExecuteExportResponse`, `ClientWireProtocol.ExecuteInlinePlan`, `ClientWireProtocol.ExecutePlan`, `ClientWireProtocol.ExecuteQuery`, `ClientWireProtocol.ExecuteQueryResponse`, `ClientWireProtocol.ExecuteUpdate`, `ClientWireProtocol.ExecuteUpdateResponse`, `ClientWireProtocol.ExplainPipelineRequest`, `ClientWireProtocol.ExplainPipelineResponse`, `ClientWireProtocol.ExplainPlan`, `ClientWireProtocol.ExplainResponseStringPlan`, `ClientWireProtocol.FetchAuthenticators`, `ClientWireProtocol.FetchAuthenticatorsResponse`, `ClientWireProtocol.FetchData`, `ClientWireProtocol.FetchDataResponse`, `ClientWireProtocol.FetchMetadata`, `ClientWireProtocol.FetchMetadataResponse`, `ClientWireProtocol.FetchSystemMetadata`, `ClientWireProtocol.FetchSystemMetadataResponse`, `ClientWireProtocol.ForceExternal`, `ClientWireProtocol.GetSchema`, `ClientWireProtocol.GetSchemaResponse`, `ClientWireProtocol.KillQuery`, `ClientWireProtocol.KillQueryResponse`, `ClientWireProtocol.ListPlan`, `ClientWireProtocol.ListPlanResponse`, `ClientWireProtocol.LocalQueries`, `ClientWireProtocol.LocalQueriesResponse`, `ClientWireProtocol.OpenIDAuthenticator`, `ClientWireProtocol.QueryConcurrencyResponse`, `ClientWireProtocol.Request`, `ClientWireProtocol.ResultSet`, `ClientWireProtocol.SecondaryInterfaceList`, `ClientWireProtocol.SecurityToken`, `ClientWireProtocol.SessionInfo`, `ClientWireProtocol.SetParameter`, `ClientWireProtocol.SetParameter.Concurrency`, `ClientWireProtocol.SetParameter.ForceExternal`, `ClientWireProtocol.SetParameter.MaxTempDiskLimit`, `ClientWireProtocol.SetParameter.MemoryTracing`, `ClientWireProtocol.SetParameter.Priority`, `ClientWireProtocol.SetParameter.PriorityAdjustFactor`, `ClientWireProtocol.SetParameter.PriorityAdjustTime`, `ClientWireProtocol.SetParameter.ResultSetColumnLimit`, `ClientWireProtocol.SetParameter.RowLimit`, `ClientWireProtocol.SetParameter.ServiceClassName`, `ClientWireProtocol.SetParameter.TimeLimit`, `ClientWireProtocol.SetSchema`, `ClientWireProtocol.SysQueriesRow`, `ClientWireProtocol.SystemWideCompletedQueries`, `ClientWireProtocol.SystemWideQueries`, `ClientWireProtocol.SystemWideQueriesResponse`, `ClientWireProtocol.TestConnection`, `DescriptorProtos.DescriptorProto`, `DescriptorProtos.DescriptorProto.ExtensionRange`, `DescriptorProtos.DescriptorProto.ReservedRange`, `DescriptorProtos.EnumDescriptorProto`, `DescriptorProtos.EnumDescriptorProto.EnumReservedRange`, `DescriptorProtos.EnumValueDescriptorProto`, `DescriptorProtos.FieldDescriptorProto`, `DescriptorProtos.FileDescriptorProto`, `DescriptorProtos.FileDescriptorSet`, `DescriptorProtos.GeneratedCodeInfo`, `DescriptorProtos.GeneratedCodeInfo.Annotation`, `DescriptorProtos.MethodDescriptorProto`, `DescriptorProtos.OneofDescriptorProto`, `DescriptorProtos.ServiceDescriptorProto`, `DescriptorProtos.SourceCodeInfo`, `DescriptorProtos.SourceCodeInfo.Location`, `DescriptorProtos.UninterpretedOption`, `DescriptorProtos.UninterpretedOption.NamePart`, `DoubleValue`, `Duration`, `Empty`, `Enum`, `EnumValue`, `Field`, `FieldMask`, `FloatValue`, `GeneratedMessageV3.ExtendableMessage`, `Int32Value`, `Int64Value`, `ListValue`, `Method`, `Mixin`, `Option`, `PluginProtos.CodeGeneratorRequest`, `PluginProtos.CodeGeneratorResponse`, `PluginProtos.CodeGeneratorResponse.File`, `PluginProtos.Version`, `ProtocolMetadata.protocolEndpointAddress`, `ProtocolMetadata.protocolEndpointAddress.ipv4Address`, `ProtocolMetadata.protocolIdentity`, `ProtocolMetadata.protocolIdentity.anonymousIdentity`, `ProtocolMetadata.protocolIdentity.certFingerprintIdentity`, `ProtocolMetadata.protocolIdentity.hostnameIdentity`, `ProtocolPrivMessages.protocolPrivAck`, `ProtocolPrivMessages.protocolPrivDisableProtocol`, `ProtocolPrivMessages.protocolPrivEnableProtocol`, `ProtocolPrivMessages.protocolPrivMessage`, `ProtocolPrivMessages.protocolPrivNotifyIdentity`, `SourceContext`, `StringValue`, `Struct`, `Timestamp`, `Type`, `UInt32Value`, `UInt64Value`, `Validator.EnumValidatorOptions`, `Validator.OneofValidatorOptions`, `Validator.ValidatorOptions`, `Value`

public abstract class GeneratedMessageV3 extends AbstractMessage implements Serializable
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:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`GeneratedMessageV3.Builder<BuilderT extends GeneratedMessageV3.Builder<BuilderT>>`
Builder class for `GeneratedMessageV3`.
`protected static interface`
`GeneratedMessageV3.BuilderParent`
TODO(xiaofeng): remove this after b/29368482 is fixed.
`static class`
`GeneratedMessageV3.ExtendableBuilder<MessageT extends GeneratedMessageV3.ExtendableMessage<MessageT>,BuilderT extends GeneratedMessageV3.ExtendableBuilder<MessageT,BuilderT>>`
Generated message builders for message types that contain extension ranges subclass this.
`static class`
`GeneratedMessageV3.ExtendableMessage<MessageT extends GeneratedMessageV3.ExtendableMessage<MessageT>>`
Generated message classes for message types that contain extension ranges subclass this.
`static interface`
`GeneratedMessageV3.ExtendableMessageOrBuilder<MessageT extends GeneratedMessageV3.ExtendableMessage<MessageT>>`
Extends `MessageOrBuilder` with extension-related functions.
`static final class`
`GeneratedMessageV3.FieldAccessorTable`
Users should ignore this class.
`protected static final class`
`GeneratedMessageV3.UnusedPrivateParameter`
This class is used to make a generated protected method inaccessible from user's code (e.g., the `newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter)` method below).

## Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite

`AbstractMessageLite.InternalOneOfEnum`

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static boolean`
`alwaysUseFieldBuilders`
For testing.
`protected UnknownFieldSet`
`unknownFields`
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

Constructors
Modifier
Constructor
Description
`protected`
`GeneratedMessageV3()`
`protected`
`GeneratedMessageV3(GeneratedMessageV3.Builder<?> builder)`

## Method Summary

Modifier and Type
Method
Description
`protected static boolean`
`canUseUnsafe()`
`protected static int`
`computeStringSize(int fieldNumber, Object value)`
`protected static int`
`computeStringSizeNoTag(Object value)`
`protected static Internal.BooleanList`
`emptyBooleanList()`
`protected static Internal.DoubleList`
`emptyDoubleList()`
`protected static Internal.FloatList`
`emptyFloatList()`
`protected static Internal.IntList`
`emptyIntList()`
`protected static Internal.LongList`
`emptyLongList()`
`Map<Descriptors.FieldDescriptor,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.
`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)`
Obtains the FieldDescriptor if the given oneof is set.
`Parser<? extends GeneratedMessageV3>`
`getParserForType()`
TODO(b/258340024): Remove this unnecessary intermediate implementation of this method.
`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.
`int`
`getSerializedSize()`
Get the number of bytes required to encode this message.
`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)`
Returns true if the given oneof is set.
`protected abstract GeneratedMessageV3.FieldAccessorTable`
`internalGetFieldAccessorTable()`
Get the FieldAccessorTable for this type.
`protected MapField`
`internalGetMapField(int fieldNumber)`
Gets the map field with the given field number.
`boolean`
`isInitialized()`
Returns true if all required fields in the message and all embedded messages are set, false otherwise.
`protected static boolean`
`isStringEmpty(Object value)`
`protected void`
`makeExtensionsImmutable()`
Used by parsing constructors in generated classes.
`protected static <ListT extends Internal.ProtobufList<?>>
ListT`
`makeMutableCopy(ListT list)`
`protected void`
`mergeFromAndMakeImmutableInternal(CodedInputStream input, ExtensionRegistryLite extensionRegistry)`
Deprecated.
`protected static Internal.BooleanList`
`mutableCopy(Internal.BooleanList list)`
`protected static Internal.DoubleList`
`mutableCopy(Internal.DoubleList list)`
`protected static Internal.FloatList`
`mutableCopy(Internal.FloatList list)`
`protected static Internal.IntList`
`mutableCopy(Internal.IntList list)`
`protected static Internal.LongList`
`mutableCopy(Internal.LongList list)`
`protected static Internal.BooleanList`
`newBooleanList()`
`protected Message.Builder`
`newBuilderForType(AbstractMessage.BuilderParent parent)`
TODO(b/258340024): generated class should implement this directly
`protected abstract Message.Builder`
`newBuilderForType(GeneratedMessageV3.BuilderParent parent)`
TODO(b/258340024): remove this together with GeneratedMessageV3.BuilderParent.
`protected static Internal.DoubleList`
`newDoubleList()`
`protected static Internal.FloatList`
`newFloatList()`
`protected Object`
`newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)`
Creates a new instance of this message type.
`protected static Internal.IntList`
`newIntList()`
`protected static Internal.LongList`
`newLongList()`
`protected static <M extends Message>
M`
`parseDelimitedWithIOException(Parser<M> parser, InputStream input)`
Used by generated code.
`protected static <M extends Message>
M`
`parseDelimitedWithIOException(Parser<M> parser, InputStream input, ExtensionRegistryLite extensions)`
Used by generated code.
`protected boolean`
`parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)`
Called by subclasses to parse an unknown field.
`protected boolean`
`parseUnknownFieldProto3(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag)`
Delegates to parseUnknownField.
`protected static <M extends Message>
M`
`parseWithIOException(Parser<M> parser, CodedInputStream input)`
Used by generated code.
`protected static <M extends Message>
M`
`parseWithIOException(Parser<M> parser, CodedInputStream input, ExtensionRegistryLite extensions)`
Used by generated code.
`protected static <M extends Message>
M`
`parseWithIOException(Parser<M> parser, InputStream input)`
Used by generated code.
`protected static <M extends Message>
M`
`parseWithIOException(Parser<M> parser, InputStream input, ExtensionRegistryLite extensions)`
Used by generated code.
`protected static <V> void`
`serializeBooleanMapTo(CodedOutputStream out, MapField<Boolean,V> field, MapEntry<Boolean,V> defaultEntry, int fieldNumber)`
`protected static <V> void`
`serializeIntegerMapTo(CodedOutputStream out, MapField<Integer,V> field, MapEntry<Integer,V> defaultEntry, int fieldNumber)`
`protected static <V> void`
`serializeLongMapTo(CodedOutputStream out, MapField<Long,V> field, MapEntry<Long,V> defaultEntry, int fieldNumber)`
`protected static <V> void`
`serializeStringMapTo(CodedOutputStream out, MapField<String,V> field, MapEntry<String,V> defaultEntry, int fieldNumber)`
`protected Object`
`writeReplace()`
Replaces this object in the output stream with a serialized form.
`protected static void`
`writeString(CodedOutputStream output, int fieldNumber, Object value)`
`protected static void`
`writeStringNoTag(CodedOutputStream output, Object value)`
`void`
`writeTo(CodedOutputStream output)`
Serializes the message and writes it to `output`.

### Methods inherited from class com.google.protobuf.AbstractMessage

`equals, findInitializationErrors, getInitializationErrorString, hashBoolean, hashCode, hashEnum, hashEnumList, hashFields, hashLong, toString`

### Methods inherited from class com.google.protobuf.AbstractMessageLite

`addAll, 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 alwaysUseFieldBuilders
For 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

protected UnknownFieldSet unknownFields
For use by generated code only.

TODO(b/258340024): mark this private and final (breaking change)

## Constructor Details

### GeneratedMessageV3

protected GeneratedMessageV3()

### GeneratedMessageV3

protected GeneratedMessageV3(GeneratedMessageV3.Builder<?> builder)

## Method Details

### getParserForType

public Parser<? extends GeneratedMessageV3> getParserForType()
TODO(b/258340024): Remove this unnecessary intermediate implementation of this method.

Specified by:
  `getParserForType` in interface `Message`
Specified by:
  `getParserForType` in interface `MessageLite`

### internalGetFieldAccessorTable

protected abstract GeneratedMessageV3.FieldAccessorTable 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

public Descriptors.Descriptor getDescriptorForType()
Description copied from interface: `MessageOrBuilder`
Get the message's type's descriptor. This differs from the `getDescriptor()` 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.

Specified by:
  `getDescriptorForType` in interface `MessageOrBuilder`

### mergeFromAndMakeImmutableInternal

@Deprecated protected void mergeFromAndMakeImmutableInternal(CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws InvalidProtocolBufferException
Deprecated.

Throws:
  `InvalidProtocolBufferException`

### isInitialized

public boolean isInitialized()
Description copied from interface: `MessageLiteOrBuilder`
Returns true if all required fields in the message and all embedded messages are set, false otherwise.

See also: `MessageOrBuilder.getInitializationErrorString()`

Specified by:
  `isInitialized` in interface `MessageLiteOrBuilder`
Overrides:
  `isInitialized` in class `AbstractMessage`

### getAllFields

public Map<Descriptors.FieldDescriptor,Object> 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 calling `MessageOrBuilder.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 interface `MessageOrBuilder`

### hasOneof

public boolean hasOneof(Descriptors.OneofDescriptor oneof)
Description copied from interface: `MessageOrBuilder`
Returns true if the given oneof is set.

Specified by:
  `hasOneof` in interface `MessageOrBuilder`
Overrides:
  `hasOneof` in class `AbstractMessage`

### getOneofFieldDescriptor

public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
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 interface `MessageOrBuilder`
Overrides:
  `getOneofFieldDescriptor` in class `AbstractMessage`

### hasField

public boolean hasField(Descriptors.FieldDescriptor field)
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.

Specified by:
  `hasField` in interface `MessageOrBuilder`

### getField

public Object getField(Descriptors.FieldDescriptor field)
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 interface `MessageOrBuilder`

### getRepeatedFieldCount

public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
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 interface `MessageOrBuilder`

### getRepeatedField

public Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
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 interface `MessageOrBuilder`

### getUnknownFields

public UnknownFieldSet getUnknownFields()
Description copied from interface: `MessageOrBuilder`
Get the `UnknownFieldSet` for this message.

Specified by:
  `getUnknownFields` in interface `MessageOrBuilder`

### parseUnknownField

protected boolean parseUnknownField(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, int tag) throws IOException
Called by subclasses to parse an unknown field.

TODO(b/248153893) remove this method

Returns:
  `true` unless the tag is an end-group tag.
Throws:
  `IOException`

### parseUnknownFieldProto3

protected boolean parseUnknownFieldProto3(CodedInputStream input, UnknownFieldSet.Builder unknownFields, 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(b/248153893) remove this method

Throws:
  `IOException`

### parseWithIOException

protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input) throws IOException
Used by generated code.

Throws:
  `IOException`

### parseWithIOException

protected static <M extends Message> M parseWithIOException(Parser<M> parser, InputStream input, ExtensionRegistryLite extensions) throws IOException
Used by generated code.

Throws:
  `IOException`

### parseWithIOException

protected static <M extends Message> M parseWithIOException(Parser<M> parser, CodedInputStream input) throws IOException
Used by generated code.

Throws:
  `IOException`

### parseWithIOException

protected static <M extends Message> M parseWithIOException(Parser<M> parser, CodedInputStream input, ExtensionRegistryLite extensions) throws IOException
Used by generated code.

Throws:
  `IOException`

### parseDelimitedWithIOException

protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser, InputStream input) throws IOException
Used by generated code.

Throws:
  `IOException`

### parseDelimitedWithIOException

protected static <M extends Message> M parseDelimitedWithIOException(Parser<M> parser, InputStream input, ExtensionRegistryLite extensions) throws IOException
Used by generated code.

Throws:
  `IOException`

### canUseUnsafe

protected static boolean canUseUnsafe()

### emptyIntList

protected static Internal.IntList emptyIntList()

### newIntList

protected static Internal.IntList newIntList()

### mutableCopy

protected static Internal.IntList mutableCopy(Internal.IntList list)

### emptyLongList

protected static Internal.LongList emptyLongList()

### newLongList

protected static Internal.LongList newLongList()

### mutableCopy

protected static Internal.LongList mutableCopy(Internal.LongList list)

### emptyFloatList

protected static Internal.FloatList emptyFloatList()

### newFloatList

protected static Internal.FloatList newFloatList()

### mutableCopy

protected static Internal.FloatList mutableCopy(Internal.FloatList list)

### emptyDoubleList

protected static Internal.DoubleList emptyDoubleList()

### newDoubleList

protected static Internal.DoubleList newDoubleList()

### mutableCopy

protected static Internal.DoubleList mutableCopy(Internal.DoubleList list)

### emptyBooleanList

protected static Internal.BooleanList emptyBooleanList()

### newBooleanList

protected static Internal.BooleanList newBooleanList()

### mutableCopy

protected static Internal.BooleanList mutableCopy(Internal.BooleanList list)

### makeMutableCopy

protected static <ListT extends Internal.ProtobufList<?>> ListT makeMutableCopy(ListT list)

### writeTo

public void writeTo(CodedOutputStream output) throws IOException
Description copied from interface: `MessageLite`
Serializes the message and writes it to `output`. This does not flush or close the stream.

Specified by:
  `writeTo` in interface `MessageLite`
Overrides:
  `writeTo` in class `AbstractMessage`
Throws:
  `IOException`

### getSerializedSize

public int getSerializedSize()
Description copied from interface: `MessageLite`
Get the number of bytes required to encode this message. The result is only computed on the first call and memoized after that. If this message requires more than Integer.MAX_VALUE bytes to encode, the return value will be smaller than the actual number of bytes required and might be negative.

Specified by:
  `getSerializedSize` in interface `MessageLite`
Overrides:
  `getSerializedSize` in class `AbstractMessage`

### newInstance

protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Creates a new instance of this message type. Overridden in the generated code.

### makeExtensionsImmutable

protected void makeExtensionsImmutable()
Used by parsing constructors in generated classes.

TODO(b/258340024): remove unused method (extensions should be immutable after build)

### newBuilderForType

protected abstract Message.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
TODO(b/258340024): remove this together with GeneratedMessageV3.BuilderParent.

### newBuilderForType

protected Message.Builder newBuilderForType(AbstractMessage.BuilderParent parent)
TODO(b/258340024): generated class should implement this directly

Overrides:
  `newBuilderForType` in class `AbstractMessage`

### internalGetMapField

protected MapField internalGetMapField(int fieldNumber)
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.

### writeReplace

protected Object writeReplace() throws ObjectStreamException
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 calling `return super.writeReplace();`

Returns:
  a SerializedForm of this message
Throws:
  `ObjectStreamException`

### isStringEmpty

protected static boolean isStringEmpty(Object value)

### computeStringSize

protected static int computeStringSize(int fieldNumber, Object value)

### computeStringSizeNoTag

protected static int computeStringSizeNoTag(Object value)

### writeString

protected static void writeString(CodedOutputStream output, int fieldNumber, Object value) throws IOException

Throws:
  `IOException`

### writeStringNoTag

protected static void writeStringNoTag(CodedOutputStream output, Object value) throws IOException

Throws:
  `IOException`

### serializeIntegerMapTo

protected static <V> void serializeIntegerMapTo(CodedOutputStream out, MapField<Integer,V> field, MapEntry<Integer,V> defaultEntry, int fieldNumber) throws IOException

Throws:
  `IOException`

### serializeLongMapTo

protected static <V> void serializeLongMapTo(CodedOutputStream out, MapField<Long,V> field, MapEntry<Long,V> defaultEntry, int fieldNumber) throws IOException

Throws:
  `IOException`

### serializeStringMapTo

protected static <V> void serializeStringMapTo(CodedOutputStream out, MapField<String,V> field, MapEntry<String,V> defaultEntry, int fieldNumber) throws IOException

Throws:
  `IOException`

### serializeBooleanMapTo

protected static <V> void serializeBooleanMapTo(CodedOutputStream out, MapField<Boolean,V> field, MapEntry<Boolean,V> defaultEntry, int fieldNumber) throws IOException

Throws:
  `IOException`