Package com.google.protobuf
Class MessageReflection
- java.lang.Object
-
- com.google.protobuf.MessageReflection
-
class MessageReflection extends java.lang.ObjectReflection utility methods shared by both mutable and immutable messages.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static classMessageReflection.BuilderAdapter(package private) static classMessageReflection.ExtensionAdapter(package private) static classMessageReflection.ExtensionBuilderAdapter(package private) static interfaceMessageReflection.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.StringdelimitWithCommas(java.util.List<java.lang.String> parts)private static voideagerlyMergeMessageSetExtension(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target)(package private) static java.util.List<java.lang.String>findMissingFields(MessageOrBuilder message)Populatesthis.missingFieldswith the full "path" of each missing required field in the given message.private static voidfindMissingFields(MessageOrBuilder message, java.lang.String prefix, java.util.List<java.lang.String> results)(package private) static intgetSerializedSize(Message message, java.util.Map<Descriptors.FieldDescriptor,java.lang.Object> fields)(package private) static booleanisInitialized(MessageOrBuilder message)(package private) static booleanmergeFieldFrom(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target, int tag)Parses a single field into MergeTarget.(package private) static voidmergeMessageFrom(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 voidmergeMessageSetExtensionFromBytes(ByteString rawBytes, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target)private static voidmergeMessageSetExtensionFromCodedStream(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.StringsubMessagePrefix(java.lang.String prefix, Descriptors.FieldDescriptor field, int index)(package private) static voidwriteMessageTo(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.missingFieldswith 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:
trueunless 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
-
-