Package com.google.protobuf

# Class TextFormat

java.lang.Object
com.google.protobuf.TextFormat

public final class TextFormat extends 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 by `unescapeBytes(java.lang.CharSequence)` and `unescapeText(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 final class`
`TextFormat.Printer`
Helper class for converting protobufs to text.
`static class`
`TextFormat.UnknownFieldParseException`
Deprecated.
This exception is unused and will be removed in the next breaking release (v5.x.x).

## Method Summary

Modifier and Type
Method
Description
`static TextFormat.Printer`
`debugFormatPrinter()`
Printer instance which escapes non-ASCII characters and prints in the debug format.
`static String`
`escapeBytes(byte[] input)`
Like `escapeBytes(ByteString)`, but used for byte array.
`static 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 String`
`escapeDoubleQuotesAndBackslashes(String input)`
Escape double quotes and backslashes in a String for emittingUnicode output of a message.
`static TextFormat.Parser`
`getParser()`
Return a `TextFormat.Parser` instance which can parse text-format messages.
`static void`
`merge(CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder)`
Parse a text-format message from `input` and merge the contents into `builder`.
`static void`
`merge(CharSequence input, Message.Builder builder)`
Parse a text-format message from `input` and merge the contents into `builder`.
`static void`
`merge(Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder)`
Parse a text-format message from `input` and merge the contents into `builder`.
`static void`
`merge(Readable input, Message.Builder builder)`
Parse a text-format message from `input` and merge the contents into `builder`.
`static <T extends Message>
T`
`parse(CharSequence input, ExtensionRegistry extensionRegistry, Class<T> protoClass)`
Parse a text-format message from `input`.
`static <T extends Message>
T`
`parse(CharSequence input, Class<T> protoClass)`
Parse a text-format message from `input`.
`static TextFormat.Printer`
`printer()`
Printer instance which escapes non-ASCII characters.
`static void`
`printUnknownFieldValue(int tag, Object value, Appendable output)`
Outputs a textual representation of the value of an unknown field.
`static String`
`shortDebugString(MessageOrBuilder message)`
Deprecated.
Use `printer().emittingSingleLine(true).printToString(MessageOrBuilder)`
`static ByteString`
`unescapeBytes(CharSequence charString)`
Un-escape a byte sequence as escaped using `escapeBytes(ByteString)`.
`static String`
`unsignedToString(int value)`
Convert an unsigned 32-bit integer to a string.
`static String`
`unsignedToString(long value)`
Convert an unsigned 64-bit integer to a string.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### shortDebugString

@Deprecated public static String shortDebugString(MessageOrBuilder message)
Deprecated.
Use `printer().emittingSingleLine(true).printToString(MessageOrBuilder)`
Generates a human readable form of this message, useful for debugging and other purposes, with no newline characters. This is just a trivial wrapper around `TextFormat.Printer.shortDebugString(MessageOrBuilder)`.

### printUnknownFieldValue

public static void printUnknownFieldValue(int tag, Object value, Appendable output) throws IOException
Outputs a textual representation of the value of an unknown field.

Parameters:
  `tag` - the field's tag number
  `value` - the value of the field
  `output` - the output to which to append the formatted value
Throws:
  `ClassCastException` - if the value is not appropriate for the given field descriptor
  `IOException` - if there is an exception writing to the output

### printer

public static TextFormat.Printer printer()
Printer instance which escapes non-ASCII characters.

### debugFormatPrinter

public static TextFormat.Printer debugFormatPrinter()
Printer instance which escapes non-ASCII characters and prints in the debug format.

### unsignedToString

public static String unsignedToString(int value)
Convert an unsigned 32-bit integer to a string.

### unsignedToString

public static String unsignedToString(long value)
Convert an unsigned 64-bit integer to a string.

### getParser

public static TextFormat.Parser getParser()
Return a `TextFormat.Parser` instance which can parse text-format messages. The returned instance is thread-safe.

### merge

public static void merge(Readable input, Message.Builder builder) throws IOException
Parse a text-format message from `input` and merge the contents into `builder`.

Throws:
  `IOException`

### merge

public static void merge(CharSequence input, Message.Builder builder) throws TextFormat.ParseException
Parse a text-format message from `input` and merge the contents into `builder`.

Throws:
  `TextFormat.ParseException`

### parse

public static <T extends Message> T parse(CharSequence input, Class<T> protoClass) throws TextFormat.ParseException
Parse a text-format message from `input`.

Returns:
  the parsed message, guaranteed initialized
Throws:
  `TextFormat.ParseException`

### merge

public static void merge(Readable input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws IOException
Parse a text-format message from `input` and merge the contents into `builder`. Extensions will be recognized if they are registered in `extensionRegistry`.

Throws:
  `IOException`

### merge

public static void merge(CharSequence input, ExtensionRegistry extensionRegistry, Message.Builder builder) throws TextFormat.ParseException
Parse a text-format message from `input` and merge the contents into `builder`. Extensions will be recognized if they are registered in `extensionRegistry`.

Throws:
  `TextFormat.ParseException`

### parse

public static <T extends Message> T parse(CharSequence input, ExtensionRegistry extensionRegistry, Class<T> protoClass) throws TextFormat.ParseException
Parse a text-format message from `input`. Extensions will be recognized if they are registered in `extensionRegistry`.

Returns:
  the parsed message, guaranteed initialized
Throws:
  `TextFormat.ParseException`

### escapeBytes

public static 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 String escapeBytes(byte[] input)
Like `escapeBytes(ByteString)`, but used for byte array.

### unescapeBytes

public static ByteString unescapeBytes(CharSequence charString) throws TextFormat.InvalidEscapeSequenceException
Un-escape a byte sequence as escaped using `escapeBytes(ByteString)`. Two-digit hex escapes (starting with "\x") are also recognized.

Throws:
  `TextFormat.InvalidEscapeSequenceException`

### escapeDoubleQuotesAndBackslashes

public static String escapeDoubleQuotesAndBackslashes(String input)
Escape double quotes and backslashes in a String for emittingUnicode output of a message.