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
NameDescription
typeDescriptors.Descriptor
Returns
TypeDescription
DynamicMessage

newBuilder(Descriptors.Descriptor type)

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

Construct a Message.Builder for the given type.

Parameter
NameDescription
typeDescriptors.Descriptor
Returns
TypeDescription
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
NameDescription
prototypeMessage
Returns
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
databyte[]
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
databyte[]
extensionRegistryExtensionRegistry
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
dataByteString
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
dataByteString
extensionRegistryExtensionRegistry
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
inputCodedInputStream
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
inputCodedInputStream
extensionRegistryExtensionRegistry
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
inputInputStream
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
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
NameDescription
typeDescriptors.Descriptor
inputInputStream
extensionRegistryExtensionRegistry
Returns
TypeDescription
DynamicMessage
Exceptions
TypeDescription
IOException

Methods

getAllFields()

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

getDefaultInstanceForType()

public DynamicMessage getDefaultInstanceForType()
Returns
TypeDescription
DynamicMessage

getDescriptorForType()

public Descriptors.Descriptor getDescriptorForType()
Returns
TypeDescription
Descriptors.Descriptor

getField(Descriptors.FieldDescriptor field)

public Object getField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldDescriptors.FieldDescriptor
Returns
TypeDescription
Object

getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)

public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)

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

Parameter
NameDescription
oneofDescriptors.OneofDescriptor
Returns
TypeDescription
Descriptors.FieldDescriptor
Overrides

getParserForType()

public Parser<DynamicMessage> getParserForType()
Returns
TypeDescription
Parser<DynamicMessage>

getRepeatedField(Descriptors.FieldDescriptor field, int index)

public Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
Parameters
NameDescription
fieldDescriptors.FieldDescriptor
indexint
Returns
TypeDescription
Object

getRepeatedFieldCount(Descriptors.FieldDescriptor field)

public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldDescriptors.FieldDescriptor
Returns
TypeDescription
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
TypeDescription
int
Overrides

getUnknownFields()

public UnknownFieldSet getUnknownFields()
Returns
TypeDescription
UnknownFieldSet

hasField(Descriptors.FieldDescriptor field)

public boolean hasField(Descriptors.FieldDescriptor field)
Parameter
NameDescription
fieldDescriptors.FieldDescriptor
Returns
TypeDescription
boolean

hasOneof(Descriptors.OneofDescriptor oneof)

public boolean hasOneof(Descriptors.OneofDescriptor oneof)

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

Parameter
NameDescription
oneofDescriptors.OneofDescriptor
Returns
TypeDescription
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
TypeDescription
boolean
Overrides

newBuilderForType()

public DynamicMessage.Builder newBuilderForType()
Returns
TypeDescription
DynamicMessage.Builder

toBuilder()

public DynamicMessage.Builder toBuilder()
Returns
TypeDescription
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
NameDescription
outputCodedOutputStream
Overrides
Exceptions
TypeDescription
IOException