Package com.google.protobuf
Class MessageReflection
java.lang.Object
com.google.protobuf.MessageReflection
Reflection utility methods shared by both mutable and immutable messages.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescription(package private) static class
(package private) static class
(package private) static class
(package private) static interface
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescription(package private) static String
delimitWithCommas
(List<String> parts) private static void
eagerlyMergeMessageSetExtension
(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) findMissingFields
(MessageOrBuilder message) Populatesthis.missingFields
with the full "path" of each missing required field in the given message.private static void
findMissingFields
(MessageOrBuilder message, String prefix, List<String> results) (package private) static int
getSerializedSize
(Message message, Map<Descriptors.FieldDescriptor, 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 String
subMessagePrefix
(String prefix, Descriptors.FieldDescriptor field, int index) (package private) static void
writeMessageTo
(Message message, Map<Descriptors.FieldDescriptor, Object> fields, CodedOutputStream output, boolean alwaysWriteRequiredFields)
-
Constructor Details
-
MessageReflection
MessageReflection()
-
-
Method Details
-
writeMessageTo
static void writeMessageTo(Message message, Map<Descriptors.FieldDescriptor, Object> fields, CodedOutputStream output, boolean alwaysWriteRequiredFields) throws IOException- Throws:
IOException
-
getSerializedSize
-
delimitWithCommas
-
isInitialized
-
subMessagePrefix
-
findMissingFields
private static void findMissingFields(MessageOrBuilder message, String prefix, List<String> results) -
findMissingFields
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 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:
unknownFields
- If not null, unknown fields will be merged to thisUnknownFieldSet
, otherwise unknown fields will be discarded.tag
- The tag, which should have already been read.- Returns:
true
unless the tag is an end-group tag.- Throws:
IOException
-
mergeMessageFrom
static void mergeMessageFrom(Message.Builder target, UnknownFieldSet.Builder unknownFields, CodedInputStream input, ExtensionRegistryLite extensionRegistry) throws IOException Read a message from the given input stream into the provided target and UnknownFieldSet.- Throws:
IOException
-
mergeMessageSetExtensionFromCodedStream
private static void mergeMessageSetExtensionFromCodedStream(CodedInputStream input, UnknownFieldSet.Builder unknownFields, ExtensionRegistryLite extensionRegistry, Descriptors.Descriptor type, MessageReflection.MergeTarget target) throws IOException Called by#mergeFieldFrom()
to parse a MessageSet extension into MergeTarget.- Throws:
IOException
-
mergeMessageSetExtensionFromBytes
private static void mergeMessageSetExtensionFromBytes(ByteString rawBytes, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) throws IOException - Throws:
IOException
-
eagerlyMergeMessageSetExtension
private static void eagerlyMergeMessageSetExtension(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) throws IOException - Throws:
IOException
-