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.
  • 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(com.google.protobuf.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 com.google.protobuf.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.