Class DynamicMessage (3.19.4)

public final class DynamicMessage extends AbstractMessage

An implementation of Message that can represent arbitrary types, given a Descriptors.Descriptor.

Static Methods

getDefaultInstance(Descriptors.Descriptor type)

public static DynamicMessage getDefaultInstance(Descriptors.Descriptor type)

Get a DynamicMessage representing the default instance of the given type.

Parameter
Name Description
type Descriptors.Descriptor
Returns
Type Description
DynamicMessage

newBuilder(Descriptors.Descriptor type)

public static DynamicMessage.Builder newBuilder(Descriptors.Descriptor type)

Construct a Message.Builder for the given type.

Parameter
Name Description
type Descriptors.Descriptor
Returns
Type Description
DynamicMessage.Builder

newBuilder(Message prototype)

public static DynamicMessage.Builder newBuilder(Message prototype)

Construct a Message.Builder for a message of the same type as prototype, and initialize it with prototype's contents.

Parameter
Name Description
prototype Message
Returns
Type Description
DynamicMessage.Builder

parseFrom(Descriptors.Descriptor type, byte[] data)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, byte[] data)

Parse data as a message of the given type and return it.

Parameters
Name Description
type Descriptors.Descriptor
data byte[]
Returns
Type Description
DynamicMessage
Exceptions
Type Description
InvalidProtocolBufferException

parseFrom(Descriptors.Descriptor type, byte[] data, ExtensionRegistry extensionRegistry)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, byte[] data, ExtensionRegistry extensionRegistry)

Parse data as a message of the given type and return it.

Parameters
Name Description
type Descriptors.Descriptor
data byte[]
extensionRegistry ExtensionRegistry
Returns
Type Description
DynamicMessage
Exceptions
Type Description
InvalidProtocolBufferException

parseFrom(Descriptors.Descriptor type, ByteString data)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, ByteString data)

Parse data as a message of the given type and return it.

Parameters
Name Description
type Descriptors.Descriptor
data ByteString
Returns
Type Description
DynamicMessage
Exceptions
Type Description
InvalidProtocolBufferException

parseFrom(Descriptors.Descriptor type, ByteString data, ExtensionRegistry extensionRegistry)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, ByteString data, ExtensionRegistry extensionRegistry)

Parse data as a message of the given type and return it.

Parameters
Name Description
type Descriptors.Descriptor
data ByteString
extensionRegistry ExtensionRegistry
Returns
Type Description
DynamicMessage
Exceptions
Type Description
InvalidProtocolBufferException

parseFrom(Descriptors.Descriptor type, CodedInputStream input)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, CodedInputStream input)

Parse a message of the given type from the given input stream.

Parameters
Name Description
type Descriptors.Descriptor
input CodedInputStream
Returns
Type Description
DynamicMessage
Exceptions
Type Description
IOException

parseFrom(Descriptors.Descriptor type, CodedInputStream input, ExtensionRegistry extensionRegistry)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, CodedInputStream input, ExtensionRegistry extensionRegistry)

Parse a message of the given type from the given input stream.

Parameters
Name Description
type Descriptors.Descriptor
input CodedInputStream
extensionRegistry ExtensionRegistry
Returns
Type Description
DynamicMessage
Exceptions
Type Description
IOException

parseFrom(Descriptors.Descriptor type, InputStream input)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, InputStream input)

Parse a message of the given type from input and return it.

Parameters
Name Description
type Descriptors.Descriptor
input InputStream
Returns
Type Description
DynamicMessage
Exceptions
Type Description
IOException

parseFrom(Descriptors.Descriptor type, InputStream input, ExtensionRegistry extensionRegistry)

public static DynamicMessage parseFrom(Descriptors.Descriptor type, InputStream input, ExtensionRegistry extensionRegistry)

Parse a message of the given type from input and return it.

Parameters
Name Description
type Descriptors.Descriptor
input InputStream
extensionRegistry ExtensionRegistry
Returns
Type Description
DynamicMessage
Exceptions
Type Description
IOException

Methods

getAllFields()

public Map<Descriptors.FieldDescriptor,Object> getAllFields()
Returns
Type Description
Map<FieldDescriptor,Object>

getDefaultInstanceForType()

public DynamicMessage getDefaultInstanceForType()
Returns
Type Description
DynamicMessage

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
Type Description
Descriptors.Descriptor

getField(Descriptors.FieldDescriptor field)

public Object getField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field Descriptors.FieldDescriptor
Returns
Type Description
Object

getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)

public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)

TODO(jieluo): Clear it when all subclasses have implemented this method.

Parameter
Name Description
oneof Descriptors.OneofDescriptor
Returns
Type Description
Descriptors.FieldDescriptor
Overrides

getParserForType()

public Parser<DynamicMessage> getParserForType()
Returns
Type Description
Parser<DynamicMessage>

getRepeatedField(Descriptors.FieldDescriptor field, int index)

public Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
Parameters
Name Description
field Descriptors.FieldDescriptor
index int
Returns
Type Description
Object

getRepeatedFieldCount(Descriptors.FieldDescriptor field)

public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Parameter
Name Description
field Descriptors.FieldDescriptor
Returns
Type Description
int

getSerializedSize()

public int getSerializedSize()

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.

Returns
Type Description
int
Overrides

getUnknownFields()

public UnknownFieldSet getUnknownFields()
Returns
Type Description
UnknownFieldSet

hasField(Descriptors.FieldDescriptor field)

public boolean hasField(Descriptors.FieldDescriptor field)
Parameter
Name Description
field Descriptors.FieldDescriptor
Returns
Type Description
boolean

hasOneof(Descriptors.OneofDescriptor oneof)

public boolean hasOneof(Descriptors.OneofDescriptor oneof)

TODO(jieluo): Clear it when all subclasses have implemented this method.

Parameter
Name Description
oneof Descriptors.OneofDescriptor
Returns
Type Description
boolean
Overrides

isInitialized()

public boolean isInitialized()

Returns true if all required fields in the message and all embedded messages are set, false otherwise.

See also: MessageOrBuilder#getInitializationErrorString()

Returns
Type Description
boolean
Overrides

newBuilderForType()

public DynamicMessage.Builder newBuilderForType()
Returns
Type Description
DynamicMessage.Builder

toBuilder()

public DynamicMessage.Builder toBuilder()
Returns
Type Description
DynamicMessage.Builder

writeTo(CodedOutputStream output)

public void writeTo(CodedOutputStream output)

Serializes the message and writes it to output. This does not flush or close the stream.

Parameter
Name Description
output CodedOutputStream
Overrides
Exceptions
Type Description
IOException