Package com.google.protobuf
Class MessageReflection
- java.lang.Object
-
- com.google.protobuf.MessageReflection
-
class MessageReflection extends java.lang.Object
Reflection utility methods shared by both mutable and immutable messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
MessageReflection.BuilderAdapter
(package private) static class
MessageReflection.ExtensionAdapter
(package private) static class
MessageReflection.ExtensionBuilderAdapter
(package private) static interface
MessageReflection.MergeTarget
-
Constructor Summary
Constructors Constructor Description MessageReflection()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description (package private) static java.lang.String
delimitWithCommas(java.util.List<java.lang.String> parts)
private static void
eagerlyMergeMessageSetExtension(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target)
(package private) static java.util.List<java.lang.String>
findMissingFields(MessageOrBuilder message)
Populatesthis.missingFields
with the full "path" of each missing required field in the given message.private static void
findMissingFields(MessageOrBuilder message, java.lang.String prefix, java.util.List<java.lang.String> results)
(package private) static int
getSerializedSize(Message message, java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> fields)
(package private) static boolean
isInitialized(MessageOrBuilder message)
(package private) static boolean
mergeFieldFrom(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target, int tag)
Parses a single field into MergeTarget.(package private) static void
mergeMessageFrom(Message.Builder target, UnknownFieldSet.Builder unknownFields, CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Read a message from the given input stream into the provided target and UnknownFieldSet.private static void
mergeMessageSetExtensionFromBytes(ByteString rawBytes, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target)
private static void
mergeMessageSetExtensionFromCodedStream(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target)
Called by#mergeFieldFrom()
to parse a MessageSet extension into MergeTarget.private static java.lang.String
subMessagePrefix(java.lang.String prefix, Descriptors.FieldDescriptor field, int index)
(package private) static void
writeMessageTo(Message message, java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> fields, CodedOutputStream output, boolean alwaysWriteRequiredFields)
-
-
-
Method Detail
-
writeMessageTo
static void writeMessageTo(Message message, java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> fields, CodedOutputStream output, boolean alwaysWriteRequiredFields) throws java.io.IOException
- Throws:
java.io.IOException
-
getSerializedSize
static int getSerializedSize(Message message, java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> fields)
-
delimitWithCommas
static java.lang.String delimitWithCommas(java.util.List<java.lang.String> parts)
-
isInitialized
static boolean isInitialized(MessageOrBuilder message)
-
subMessagePrefix
private static java.lang.String subMessagePrefix(java.lang.String prefix, Descriptors.FieldDescriptor field, int index)
-
findMissingFields
private static void findMissingFields(MessageOrBuilder message, java.lang.String prefix, java.util.List<java.lang.String> results)
-
findMissingFields
static java.util.List<java.lang.String> findMissingFields(MessageOrBuilder message)
Populatesthis.missingFields
with the full "path" of each missing required field in the given message.
-
mergeFieldFrom
static boolean mergeFieldFrom(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target, int tag) throws java.io.IOException
Parses a single field into MergeTarget. The target can be Message.Builder, FieldSet or MutableMessage.Package-private because it is used by GeneratedMessage.ExtendableMessage.
- Parameters:
tag
- The tag, which should have already been read.unknownFields
- If not null, unknown fields will be merged to thisUnknownFieldSet
, otherwise unknown fields will be discarded.- Returns:
true
unless the tag is an end-group tag.- Throws:
java.io.IOException
-
mergeMessageFrom
static void mergeMessageFrom(Message.Builder target, UnknownFieldSet.Builder unknownFields, CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws java.io.IOException
Read a message from the given input stream into the provided target and UnknownFieldSet.- Throws:
java.io.IOException
-
mergeMessageSetExtensionFromCodedStream
private static void mergeMessageSetExtensionFromCodedStream(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target) throws java.io.IOException
Called by#mergeFieldFrom()
to parse a MessageSet extension into MergeTarget.- Throws:
java.io.IOException
-
mergeMessageSetExtensionFromBytes
private static void mergeMessageSetExtensionFromBytes(ByteString rawBytes, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) throws java.io.IOException
- Throws:
java.io.IOException
-
eagerlyMergeMessageSetExtension
private static void eagerlyMergeMessageSetExtension(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) throws java.io.IOException
- Throws:
java.io.IOException
-
-