Package com.google.protobuf
Class TextFormat.Parser
java.lang.Object
com.google.protobuf.TextFormat.Parser
- Enclosing class:
TextFormat
Parser for text-format proto2 instances. This class is thread-safe. The implementation largely
follows google/protobuf/text_format.cc.
Use TextFormat.getParser() to obtain the default parser, or TextFormat.Parser.Builder to
control the parser behavior.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classBuilder that can be used to obtain new instances ofTextFormat.Parser.static enumDetermines if repeated values for non-repeated fields and oneofs are permitted.(package private) static final class -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final booleanprivate final booleanprivate static final intprivate TextFormatParseInfoTree.Builderprivate final TextFormat.Parser.SingularOverwritePolicyprivate final TypeRegistry -
Constructor Summary
ConstructorsModifierConstructorDescriptionprivateParser(TypeRegistry typeRegistry, boolean allowUnknownFields, boolean allowUnknownEnumValues, boolean allowUnknownExtensions, TextFormat.Parser.SingularOverwritePolicy singularOverwritePolicy, TextFormatParseInfoTree.Builder parseInfoTreeBuilder) -
Method Summary
Modifier and TypeMethodDescriptionprivate voidcheckUnknownFields(List<TextFormat.Parser.UnknownField> unknownFields) private voidconsumeFieldValue(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, Descriptors.FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) Parse a single field value fromtokenizerand merge it intobuilder.private voidconsumeFieldValues(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, Descriptors.FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) Parse a one or more field values fromtokenizerand merge it intobuilder.voidmerge(CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder) Parse a text-format message frominputand merge the contents intobuilder.voidmerge(CharSequence input, Message.Builder builder) Parse a text-format message frominputand merge the contents intobuilder.voidmerge(Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder) Parse a text-format message frominputand merge the contents intobuilder.voidmerge(Readable input, Message.Builder builder) Parse a text-format message frominputand merge the contents intobuilder.private voidmergeAnyFieldValue(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields, Descriptors.Descriptor anyDescriptor) private voidmergeField(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) Parse a single field fromtokenizerand merge it intotarget.private voidmergeField(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, List<TextFormat.Parser.UnknownField> unknownFields) Parse a single field fromtokenizerand merge it intobuilder.static TextFormat.Parser.BuilderReturns a new instance ofTextFormat.Parser.Builder.private static voidskipField(TextFormat.Tokenizer tokenizer) Skips the next field including the field's name and value.private static voidskipFieldMessage(TextFormat.Tokenizer tokenizer) Skips the whole body of a message including the beginning delimiter and the ending delimiter.private static voidskipFieldValue(TextFormat.Tokenizer tokenizer) Skips a field value.private static StringBuildertoStringBuilder(Readable input)
-
Field Details
-
typeRegistry
-
allowUnknownFields
private final boolean allowUnknownFields -
allowUnknownEnumValues
private final boolean allowUnknownEnumValues -
allowUnknownExtensions
private final boolean allowUnknownExtensions -
singularOverwritePolicy
-
parseInfoTreeBuilder
-
BUFFER_SIZE
private static final int BUFFER_SIZE- See Also:
-
-
Constructor Details
-
Parser
private Parser(TypeRegistry typeRegistry, boolean allowUnknownFields, boolean allowUnknownEnumValues, boolean allowUnknownExtensions, TextFormat.Parser.SingularOverwritePolicy singularOverwritePolicy, TextFormatParseInfoTree.Builder parseInfoTreeBuilder)
-
-
Method Details
-
newBuilder
Returns a new instance ofTextFormat.Parser.Builder. -
merge
Parse a text-format message frominputand merge the contents intobuilder.- Throws:
IOException
-
merge
Parse a text-format message frominputand merge the contents intobuilder.- Throws:
TextFormat.ParseException
-
merge
public void merge(Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws IOException Parse a text-format message frominputand merge the contents intobuilder. Extensions will be recognized if they are registered inextensionRegistry.- Throws:
IOException
-
toStringBuilder
- Throws:
IOException
-
checkUnknownFields
private void checkUnknownFields(List<TextFormat.Parser.UnknownField> unknownFields) throws TextFormat.ParseException - Throws:
TextFormat.ParseException
-
merge
public void merge(CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws TextFormat.ParseException Parse a text-format message frominputand merge the contents intobuilder. Extensions will be recognized if they are registered inextensionRegistry.- Throws:
TextFormat.ParseException
-
mergeField
private void mergeField(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, List<TextFormat.Parser.UnknownField> unknownFields) throws TextFormat.ParseException Parse a single field fromtokenizerand merge it intobuilder.- Throws:
TextFormat.ParseException
-
mergeField
private void mergeField(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) throws TextFormat.ParseException Parse a single field fromtokenizerand merge it intotarget.- Throws:
TextFormat.ParseException
-
consumeFieldValues
private void consumeFieldValues(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, Descriptors.FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) throws TextFormat.ParseException Parse a one or more field values fromtokenizerand merge it intobuilder.- Throws:
TextFormat.ParseException
-
consumeFieldValue
private void consumeFieldValue(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, Descriptors.FieldDescriptor field, ExtensionRegistry.ExtensionInfo extension, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields) throws TextFormat.ParseException Parse a single field value fromtokenizerand merge it intobuilder.- Throws:
TextFormat.ParseException
-
mergeAnyFieldValue
private void mergeAnyFieldValue(TextFormat.Tokenizer tokenizer, ExtensionRegistry extensionRegistry, MessageReflection.MergeTarget target, TextFormatParseInfoTree.Builder parseTreeBuilder, List<TextFormat.Parser.UnknownField> unknownFields, Descriptors.Descriptor anyDescriptor) throws TextFormat.ParseException - Throws:
TextFormat.ParseException
-
skipField
Skips the next field including the field's name and value.- Throws:
TextFormat.ParseException
-
skipFieldMessage
private static void skipFieldMessage(TextFormat.Tokenizer tokenizer) throws TextFormat.ParseException Skips the whole body of a message including the beginning delimiter and the ending delimiter.- Throws:
TextFormat.ParseException
-
skipFieldValue
Skips a field value.- Throws:
TextFormat.ParseException
-