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.
|
Descriptors.FieldDescriptor |
getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
|
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.
|
com.google.protobuf.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)
|
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 hasOneof(Descriptors.OneofDescriptor oneof)
AbstractMessage
hasOneof
in interface MessageOrBuilder
hasOneof
in class AbstractMessage
public Descriptors.FieldDescriptor getOneofFieldDescriptor(Descriptors.OneofDescriptor oneof)
AbstractMessage
getOneofFieldDescriptor
in interface MessageOrBuilder
getOneofFieldDescriptor
in class AbstractMessage
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 com.google.protobuf.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