public final class DynamicMessage extends AbstractMessage
Message
that can represent arbitrary types,
given a Descriptors.Descriptor
.Modifier and Type | Class and Description |
---|---|
static class |
DynamicMessage.Builder
Builder for
DynamicMessage s. |
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.
|
static DynamicMessage |
getDefaultInstance(Descriptors.Descriptor type)
Get a
DynamicMessage representing the default instance of the
given type. |
DynamicMessage |
getDefaultInstanceForType()
Get an instance of the type with no fields set.
|
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.
|
Parser<DynamicMessage> |
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.
|
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 |
isInitialized()
Returns true if all required fields in the message and all embedded
messages are set, false otherwise.
|
static DynamicMessage.Builder |
newBuilder(Descriptors.Descriptor type)
Construct a
Message.Builder for the given type. |
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. |
DynamicMessage.Builder |
newBuilderForType()
Constructs a new builder for a message of the same type as this message.
|
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
byte[] data)
Parse
data as a message of the given type and return it. |
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
byte[] data,
ExtensionRegistry extensionRegistry)
Parse
data as a message of the given type and return it. |
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
ByteString data)
Parse
data as a message of the given type and return it. |
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
ByteString data,
ExtensionRegistry extensionRegistry)
Parse
data as a message of the given type and return it. |
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
CodedInputStream input)
Parse a message of the given type from the given input stream.
|
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
CodedInputStream input,
ExtensionRegistry extensionRegistry)
Parse a message of the given type from the given input stream.
|
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
java.io.InputStream input)
Parse a message of the given type from
input and return it. |
static DynamicMessage |
parseFrom(Descriptors.Descriptor type,
java.io.InputStream input,
ExtensionRegistry extensionRegistry)
Parse a message of the given type from
input and return it. |
DynamicMessage.Builder |
toBuilder()
Constructs a builder initialized with the current message.
|
void |
writeTo(CodedOutputStream output)
Serializes the message and writes it to
output . |
equals, findInitializationErrors, getInitializationErrorString, hashCode, toString
toByteArray, toByteString, writeDelimitedTo, writeTo
toByteArray, toByteString, writeDelimitedTo, writeTo
public static DynamicMessage getDefaultInstance(Descriptors.Descriptor type)
DynamicMessage
representing the default instance of the
given type.public static DynamicMessage parseFrom(Descriptors.Descriptor type, CodedInputStream input) throws java.io.IOException
java.io.IOException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, CodedInputStream input, ExtensionRegistry extensionRegistry) throws java.io.IOException
java.io.IOException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, ByteString data) throws InvalidProtocolBufferException
data
as a message of the given type and return it.InvalidProtocolBufferException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, ByteString data, ExtensionRegistry extensionRegistry) throws InvalidProtocolBufferException
data
as a message of the given type and return it.InvalidProtocolBufferException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, byte[] data) throws InvalidProtocolBufferException
data
as a message of the given type and return it.InvalidProtocolBufferException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, byte[] data, ExtensionRegistry extensionRegistry) throws InvalidProtocolBufferException
data
as a message of the given type and return it.InvalidProtocolBufferException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, java.io.InputStream input) throws java.io.IOException
input
and return it.java.io.IOException
public static DynamicMessage parseFrom(Descriptors.Descriptor type, java.io.InputStream input, ExtensionRegistry extensionRegistry) throws java.io.IOException
input
and return it.java.io.IOException
public static DynamicMessage.Builder newBuilder(Descriptors.Descriptor type)
Message.Builder
for the given type.public static DynamicMessage.Builder newBuilder(Message prototype)
Message.Builder
for a message of the same type as
prototype
, and initialize it with prototype
's contents.public Descriptors.Descriptor getDescriptorForType()
MessageOrBuilder
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.public DynamicMessage getDefaultInstanceForType()
MessageLiteOrBuilder
getDefaultInstance()
method of generated message classes in that
this method is an abstract method of the MessageLite
interface
whereas getDefaultInstance()
is a static method of a specific
class. They return the same thing.public java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> getAllFields()
MessageOrBuilder
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.
public boolean hasField(Descriptors.FieldDescriptor field)
MessageOrBuilder
public java.lang.Object getField(Descriptors.FieldDescriptor field)
MessageOrBuilder
public int getRepeatedFieldCount(Descriptors.FieldDescriptor field)
MessageOrBuilder
public java.lang.Object getRepeatedField(Descriptors.FieldDescriptor field, int index)
MessageOrBuilder
public UnknownFieldSet getUnknownFields()
MessageOrBuilder
UnknownFieldSet
for this message.public boolean isInitialized()
MessageLiteOrBuilder
isInitialized
in interface MessageLiteOrBuilder
isInitialized
in class AbstractMessage
public void writeTo(CodedOutputStream output) throws java.io.IOException
MessageLite
output
. This does not
flush or close the stream.writeTo
in interface MessageLite
writeTo
in class AbstractMessage
java.io.IOException
public int getSerializedSize()
MessageLite
getSerializedSize
in interface MessageLite
getSerializedSize
in class AbstractMessage
public DynamicMessage.Builder newBuilderForType()
MessageLite
public DynamicMessage.Builder toBuilder()
MessageLite
public Parser<DynamicMessage> getParserForType()
MessageLite