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 StringdelimitWithCommas(List<String> parts) private static voideagerlyMergeMessageSetExtension(CodedInputStream input, ExtensionRegistry.ExtensionInfo extension, ExtensionRegistryLite extensionRegistry, MessageReflection.MergeTarget target) findMissingFields(MessageOrBuilder message) Populatesthis.missingFieldswith the full "path" of each missing required field in the given message.private static voidfindMissingFields(MessageOrBuilder message, String prefix, List<String> results) (package private) static intgetSerializedSize(Message message, Map<Descriptors.FieldDescriptor, 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 StringsubMessagePrefix(String prefix, Descriptors.FieldDescriptor field, int index) (package private) static voidwriteMessageTo(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.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 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:
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
-