Class TextFormat


  • public final class TextFormat
    extends java.lang.Object
    Provide text parsing and formatting support for proto2 instances. The implementation largely follows google/protobuf/text_format.cc.
    Author:
    [email protected] Wenbo Zhu, [email protected] Kenton Varda
    • Method Detail

      • print

        @Deprecated
        public static void print​(MessageOrBuilder message,
                                 java.lang.Appendable output)
                          throws java.io.IOException
        Deprecated.
        Use printer().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.
        Use printer().print(UnknownFieldSet, Appendable)
        Outputs a textual representation of fields to output.
        Throws:
        java.io.IOException
      • printUnicode

        @Deprecated
        public static void printUnicode​(MessageOrBuilder message,
                                        java.lang.Appendable output)
                                 throws java.io.IOException
        Deprecated.
        Use printer().escapingNonAscii(false).print(MessageOrBuilder, Appendable)
        Same as print(), 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.
        Use printer().escapingNonAscii(false).print(UnknownFieldSet, Appendable)
        Same as print(), except that non-ASCII characters are not escaped.
        Throws:
        java.io.IOException
      • shortDebugString

        @Deprecated
        public static java.lang.String shortDebugString​(Descriptors.FieldDescriptor field,
                                                        java.lang.Object value)
        Deprecated.
        Use printer().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.
        Use printer().shortDebugString(UnknownFieldSet)
        Generates a human readable form of the unknown fields, useful for debugging and other purposes, with no newline characters.
      • printToString

        @Deprecated
        public static java.lang.String printToString​(MessageOrBuilder message)
        Deprecated.
        Use message.toString()
        Like print(), but writes directly to a String and returns it.
      • printToString

        @Deprecated
        public static java.lang.String printToString​(UnknownFieldSet fields)
        Like print(), but writes directly to a String and returns it.
      • printToUnicodeString

        @Deprecated
        public static java.lang.String printToUnicodeString​(MessageOrBuilder message)
        Deprecated.
        Use printer().escapingNonAscii(false).printToString(MessageOrBuilder)
        Same as printToString(), 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.
        Use printer().escapingNonAscii(false).printToString(UnknownFieldSet)
        Same as printToString(), 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.
        Use printer().printField(FieldDescriptor, Object, Appendable)
        Throws:
        java.io.IOException
      • printFieldToString

        @Deprecated
        public static java.lang.String printFieldToString​(Descriptors.FieldDescriptor field,
                                                          java.lang.Object value)
        Deprecated.
        Use printer().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.
        Use printer().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 field
        value - the value of the field
        output - the output to which to append the formatted value
        Throws:
        java.lang.ClassCastException - if the value is not appropriate for the given field descriptor
        java.io.IOException - if there is an exception writing to the output
      • printFieldValue

        @Deprecated
        public static void printFieldValue​(Descriptors.FieldDescriptor field,
                                           java.lang.Object value,
                                           java.lang.Appendable output)
                                    throws java.io.IOException
        Deprecated.
        Use printer().printFieldValue(FieldDescriptor, Object, Appendable)
        Outputs a textual representation of the value of given field value.
        Parameters:
        field - the descriptor of the field
        value - the value of the field
        output - the output to which to append the formatted value
        Throws:
        java.lang.ClassCastException - if the value is not appropriate for the given field descriptor
        java.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 number
        value - the value of the field
        output - the output to which to append the formatted value
        Throws:
        java.lang.ClassCastException - if the value is not appropriate for the given field descriptor
        java.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.
      • merge

        public static void merge​(java.lang.Readable input,
                                 Message.Builder builder)
                          throws java.io.IOException
        Parse a text-format message from input and merge the contents into builder.
        Throws:
        java.io.IOException
      • merge

        public static void merge​(java.lang.Readable input,
                                 ExtensionRegistry extensionRegistry,
                                 Message.Builder builder)
                          throws java.io.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:
        java.io.IOException
      • 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 from input. Extensions will be recognized if they are registered in extensionRegistry.
        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)
        Like escapeBytes(ByteString), but used for byte array.
      • 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.