Package com.google.protobuf
Class TextFormat
- java.lang.Object
-
- com.google.protobuf.TextFormat
-
public final class TextFormat extends java.lang.Object
Provide text parsing and formatting support for proto2 instances. The implementation largely follows text_format.cc.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TextFormat.InvalidEscapeSequenceException
Thrown byunescapeBytes(java.lang.CharSequence)
andunescapeText(java.lang.String)
when an invalid escape sequence is seen.static class
TextFormat.ParseException
Thrown when parsing an invalid text format message.static class
TextFormat.Parser
Parser for text-format proto2 instances.static class
TextFormat.Printer
Helper class for converting protobufs to text.static class
TextFormat.UnknownFieldParseException
Thrown when encountering an unknown field while parsing a text format message.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.lang.String
escapeBytes(byte[] input)
LikeescapeBytes(ByteString)
, but used for byte array.static java.lang.String
escapeBytes(ByteString input)
Escapes bytes in the format used in protocol buffer text format, which is the same as the format used for C string literals.static java.lang.String
escapeDoubleQuotesAndBackslashes(java.lang.String input)
Escape double quotes and backslashes in a String for emittingUnicode output of a message.static TextFormat.Parser
getParser()
Return aTextFormat.Parser
instance which can parse text-format messages.static void
merge(java.lang.CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder)
Parse a text-format message frominput
and merge the contents intobuilder
.static void
merge(java.lang.CharSequence input, Message.Builder builder)
Parse a text-format message frominput
and merge the contents intobuilder
.static void
merge(java.lang.Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder)
Parse a text-format message frominput
and merge the contents intobuilder
.static void
merge(java.lang.Readable input, Message.Builder builder)
Parse a text-format message frominput
and merge the contents intobuilder
.static <T extends Message>
Tparse(java.lang.CharSequence input, ExtensionRegistry extensionRegistry, java.lang.Class<T> protoClass)
Parse a text-format message frominput
.static <T extends Message>
Tparse(java.lang.CharSequence input, java.lang.Class<T> protoClass)
Parse a text-format message frominput
.static void
print(MessageOrBuilder message, java.lang.Appendable output)
Deprecated.Useprinter().print(MessageOrBuilder, Appendable)
static void
print(UnknownFieldSet fields, java.lang.Appendable output)
Deprecated.Useprinter().print(UnknownFieldSet, Appendable)
static TextFormat.Printer
printer()
Printer instance which escapes non-ASCII characters.static void
printField(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output)
Deprecated.Useprinter().printField(FieldDescriptor, Object, Appendable)
static java.lang.String
printFieldToString(Descriptors.FieldDescriptor field, java.lang.Object value)
Deprecated.Useprinter().printFieldToString(FieldDescriptor, Object)
static void
printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output)
Deprecated.Useprinter().printFieldValue(FieldDescriptor, Object, Appendable)
static java.lang.String
printToString(MessageOrBuilder message)
Deprecated.Usemessage.toString()
static java.lang.String
printToString(UnknownFieldSet fields)
Deprecated.static java.lang.String
printToUnicodeString(MessageOrBuilder message)
Deprecated.Useprinter().escapingNonAscii(false).printToString(MessageOrBuilder)
static java.lang.String
printToUnicodeString(UnknownFieldSet fields)
Deprecated.Useprinter().escapingNonAscii(false).printToString(UnknownFieldSet)
static void
printUnicode(MessageOrBuilder message, java.lang.Appendable output)
Deprecated.Useprinter().escapingNonAscii(false).print(MessageOrBuilder, Appendable)
static void
printUnicode(UnknownFieldSet fields, java.lang.Appendable output)
Deprecated.Useprinter().escapingNonAscii(false).print(UnknownFieldSet, Appendable)
static void
printUnicodeFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output)
Deprecated.Useprinter().escapingNonAscii(false).printFieldValue(FieldDescriptor, Object, Appendable)
static void
printUnknownFieldValue(int tag, java.lang.Object value, java.lang.Appendable output)
Outputs a textual representation of the value of an unknown field.static java.lang.String
shortDebugString(Descriptors.FieldDescriptor field, java.lang.Object value)
Deprecated.Useprinter().shortDebugString(FieldDescriptor, Object)
static java.lang.String
shortDebugString(MessageOrBuilder message)
Generates a human readable form of this message, useful for debugging and other purposes, with no newline characters.static java.lang.String
shortDebugString(UnknownFieldSet fields)
Deprecated.Useprinter().shortDebugString(UnknownFieldSet)
static ByteString
unescapeBytes(java.lang.CharSequence charString)
Un-escape a byte sequence as escaped usingescapeBytes(ByteString)
.static java.lang.String
unsignedToString(int value)
Convert an unsigned 32-bit integer to a string.static java.lang.String
unsignedToString(long value)
Convert an unsigned 64-bit integer to a string.
-
-
-
Method Detail
-
print
@Deprecated @InlineMe(replacement="TextFormat.printer().print(message, output)", imports="com.google.protobuf.TextFormat") public static void print(MessageOrBuilder message, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().print(MessageOrBuilder, Appendable)
Outputs a textual representation of the Protocol Message supplied into the parameter output. (This representation is the new version of the classic "ProtocolPrinter" output from the original Protocol Buffer system)- Throws:
java.io.IOException
-
print
@Deprecated public static void print(UnknownFieldSet fields, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().print(UnknownFieldSet, Appendable)
Outputs a textual representation offields
tooutput
.- Throws:
java.io.IOException
-
printUnicode
@Deprecated @InlineMe(replacement="TextFormat.printer().escapingNonAscii(false).print(message, output)", imports="com.google.protobuf.TextFormat") public static void printUnicode(MessageOrBuilder message, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().escapingNonAscii(false).print(MessageOrBuilder, Appendable)
Same asprint()
, except that non-ASCII characters are not escaped.- Throws:
java.io.IOException
-
printUnicode
@Deprecated public static void printUnicode(UnknownFieldSet fields, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().escapingNonAscii(false).print(UnknownFieldSet, Appendable)
Same asprint()
, except that non-ASCII characters are not escaped.- Throws:
java.io.IOException
-
shortDebugString
public static java.lang.String shortDebugString(MessageOrBuilder message)
Generates a human readable form of this message, useful for debugging and other purposes, with no newline characters. This is just a trivial wrapper aroundTextFormat.Printer.shortDebugString(MessageOrBuilder)
.
-
shortDebugString
@Deprecated public static java.lang.String shortDebugString(Descriptors.FieldDescriptor field, java.lang.Object value)
Deprecated.Useprinter().shortDebugString(FieldDescriptor, Object)
Generates a human readable form of the field, useful for debugging and other purposes, with no newline characters.
-
shortDebugString
@Deprecated public static java.lang.String shortDebugString(UnknownFieldSet fields)
Deprecated.Useprinter().shortDebugString(UnknownFieldSet)
Generates a human readable form of the unknown fields, useful for debugging and other purposes, with no newline characters.
-
printToString
@Deprecated @InlineMe(replacement="TextFormat.printer().printToString(message)", imports="com.google.protobuf.TextFormat") public static java.lang.String printToString(MessageOrBuilder message)
Deprecated.Usemessage.toString()
Likeprint()
, but writes directly to aString
and returns it.
-
printToString
@Deprecated public static java.lang.String printToString(UnknownFieldSet fields)
Deprecated.Likeprint()
, but writes directly to aString
and returns it.
-
printToUnicodeString
@Deprecated @InlineMe(replacement="TextFormat.printer().escapingNonAscii(false).printToString(message)", imports="com.google.protobuf.TextFormat") public static java.lang.String printToUnicodeString(MessageOrBuilder message)
Deprecated.Useprinter().escapingNonAscii(false).printToString(MessageOrBuilder)
Same asprintToString()
, except that non-ASCII characters in string type fields are not escaped in backslash+octals.
-
printToUnicodeString
@Deprecated public static java.lang.String printToUnicodeString(UnknownFieldSet fields)
Deprecated.Useprinter().escapingNonAscii(false).printToString(UnknownFieldSet)
Same asprintToString()
, except that non-ASCII characters in string type fields are not escaped in backslash+octals.
-
printField
@Deprecated public static void printField(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().printField(FieldDescriptor, Object, Appendable)
- Throws:
java.io.IOException
-
printFieldToString
@Deprecated public static java.lang.String printFieldToString(Descriptors.FieldDescriptor field, java.lang.Object value)
Deprecated.Useprinter().printFieldToString(FieldDescriptor, Object)
-
printUnicodeFieldValue
@Deprecated public static void printUnicodeFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().escapingNonAscii(false).printFieldValue(FieldDescriptor, Object, Appendable)
Outputs a unicode textual representation of the value of given field value.Same as
printFieldValue()
, except that non-ASCII characters in string type fields are not escaped in backslash+octals.- Parameters:
field
- the descriptor of the fieldvalue
- the value of the fieldoutput
- the output to which to append the formatted value- Throws:
java.lang.ClassCastException
- if the value is not appropriate for the given field descriptorjava.io.IOException
- if there is an exception writing to the output
-
printFieldValue
@Deprecated @InlineMe(replacement="TextFormat.printer().printFieldValue(field, value, output)", imports="com.google.protobuf.TextFormat") public static void printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
Deprecated.Useprinter().printFieldValue(FieldDescriptor, Object, Appendable)
Outputs a textual representation of the value of given field value.- Parameters:
field
- the descriptor of the fieldvalue
- the value of the fieldoutput
- the output to which to append the formatted value- Throws:
java.lang.ClassCastException
- if the value is not appropriate for the given field descriptorjava.io.IOException
- if there is an exception writing to the output
-
printUnknownFieldValue
public static void printUnknownFieldValue(int tag, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
Outputs a textual representation of the value of an unknown field.- Parameters:
tag
- the field's tag numbervalue
- the value of the fieldoutput
- the output to which to append the formatted value- Throws:
java.lang.ClassCastException
- if the value is not appropriate for the given field descriptorjava.io.IOException
- if there is an exception writing to the output
-
printer
public static TextFormat.Printer printer()
Printer instance which escapes non-ASCII characters.
-
unsignedToString
public static java.lang.String unsignedToString(int value)
Convert an unsigned 32-bit integer to a string.
-
unsignedToString
public static java.lang.String unsignedToString(long value)
Convert an unsigned 64-bit integer to a string.
-
getParser
public static TextFormat.Parser getParser()
Return aTextFormat.Parser
instance which can parse text-format messages. The returned instance is thread-safe.
-
merge
public static void merge(java.lang.Readable input, Message.Builder builder) throws java.io.IOException
Parse a text-format message frominput
and merge the contents intobuilder
.- Throws:
java.io.IOException
-
merge
public static void merge(java.lang.CharSequence input, Message.Builder builder) throws TextFormat.ParseException
Parse a text-format message frominput
and merge the contents intobuilder
.- Throws:
TextFormat.ParseException
-
parse
public static <T extends Message> T parse(java.lang.CharSequence input, java.lang.Class<T> protoClass) throws TextFormat.ParseException
Parse a text-format message frominput
.- Returns:
- the parsed message, guaranteed initialized
- Throws:
TextFormat.ParseException
-
merge
public static void merge(java.lang.Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws java.io.IOException
Parse a text-format message frominput
and merge the contents intobuilder
. Extensions will be recognized if they are registered inextensionRegistry
.- Throws:
java.io.IOException
-
merge
public static void merge(java.lang.CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws TextFormat.ParseException
Parse a text-format message frominput
and merge the contents intobuilder
. Extensions will be recognized if they are registered inextensionRegistry
.- Throws:
TextFormat.ParseException
-
parse
public static <T extends Message> T parse(java.lang.CharSequence input, ExtensionRegistry extensionRegistry, java.lang.Class<T> protoClass) throws TextFormat.ParseException
Parse a text-format message frominput
. Extensions will be recognized if they are registered inextensionRegistry
.- Returns:
- the parsed message, guaranteed initialized
- Throws:
TextFormat.ParseException
-
escapeBytes
public static java.lang.String escapeBytes(ByteString input)
Escapes bytes in the format used in protocol buffer text format, which is the same as the format used for C string literals. All bytes that are not printable 7-bit ASCII characters are escaped, as well as backslash, single-quote, and double-quote characters. Characters for which no defined short-hand escape sequence is defined will be escaped using 3-digit octal sequences.
-
escapeBytes
public static java.lang.String escapeBytes(byte[] input)
LikeescapeBytes(ByteString)
, but used for byte array.
-
unescapeBytes
public static ByteString unescapeBytes(java.lang.CharSequence charString) throws TextFormat.InvalidEscapeSequenceException
Un-escape a byte sequence as escaped usingescapeBytes(ByteString)
. Two-digit hex escapes (starting with "\x") are also recognized.
-
escapeDoubleQuotesAndBackslashes
public static java.lang.String escapeDoubleQuotesAndBackslashes(java.lang.String input)
Escape double quotes and backslashes in a String for emittingUnicode output of a message.
-
-