Package com.google.protobuf
Class TextFormat.Printer
- java.lang.Object
-
- com.google.protobuf.TextFormat.Printer
-
- Enclosing class:
- TextFormat
public static final class TextFormat.Printer extends java.lang.Object
Helper class for converting protobufs to text.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
TextFormat.Printer.MapEntryAdapter
An adapter class that can take aMapEntry
and returns its key and entry.
-
Field Summary
Fields Modifier and Type Field Description private static TextFormat.Printer
DEFAULT
private boolean
escapeNonAscii
Whether to escape non ASCII characters with backslash and octal.private TypeRegistry
typeRegistry
-
Constructor Summary
Constructors Modifier Constructor Description private
Printer(boolean escapeNonAscii, TypeRegistry typeRegistry)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description TextFormat.Printer
escapingNonAscii(boolean escapeNonAscii)
Return a new Printer instance with the specified escape mode.private void
print(MessageOrBuilder message, TextFormat.TextGenerator generator)
void
print(MessageOrBuilder message, java.lang.Appendable output)
Outputs a textual representation of the Protocol Message supplied into the parameter output.void
print(UnknownFieldSet fields, java.lang.Appendable output)
Outputs a textual representation offields
tooutput
.private boolean
printAny(MessageOrBuilder message, TextFormat.TextGenerator generator)
Attempt to print the 'google.protobuf.Any' message in a human-friendly format.private void
printField(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator)
void
printField(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output)
java.lang.String
printFieldToString(Descriptors.FieldDescriptor field, java.lang.Object value)
private void
printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator)
void
printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output)
Outputs a textual representation of the value of given field value.private void
printMessage(MessageOrBuilder message, TextFormat.TextGenerator generator)
private void
printSingleField(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator)
java.lang.String
printToString(MessageOrBuilder message)
Likeprint()
, but writes directly to aString
and returns it.java.lang.String
printToString(UnknownFieldSet fields)
Likeprint()
, but writes directly to aString
and returns it.private static void
printUnknownField(int number, int wireType, java.util.List<?> values, TextFormat.TextGenerator generator)
private static void
printUnknownFields(UnknownFieldSet unknownFields, TextFormat.TextGenerator generator)
private static void
printUnknownFieldValue(int tag, java.lang.Object value, TextFormat.TextGenerator generator)
java.lang.String
shortDebugString(Descriptors.FieldDescriptor field, java.lang.Object value)
Generates a human readable form of the field, useful for debugging and other purposes, with no newline characters.java.lang.String
shortDebugString(MessageOrBuilder message)
Generates a human readable form of this message, useful for debugging and other purposes, with no newline characters.java.lang.String
shortDebugString(UnknownFieldSet fields)
Generates a human readable form of the unknown fields, useful for debugging and other purposes, with no newline characters.TextFormat.Printer
usingTypeRegistry(TypeRegistry typeRegistry)
Creates a newTextFormat.Printer
using the given typeRegistry.
-
-
-
Field Detail
-
DEFAULT
private static final TextFormat.Printer DEFAULT
-
escapeNonAscii
private final boolean escapeNonAscii
Whether to escape non ASCII characters with backslash and octal.
-
typeRegistry
private final TypeRegistry typeRegistry
-
-
Constructor Detail
-
Printer
private Printer(boolean escapeNonAscii, TypeRegistry typeRegistry)
-
-
Method Detail
-
escapingNonAscii
public TextFormat.Printer escapingNonAscii(boolean escapeNonAscii)
Return a new Printer instance with the specified escape mode.- Parameters:
escapeNonAscii
- If true, the new Printer will escape non-ASCII characters (this is the default behavior. If false, the new Printer will print non-ASCII characters as is. In either case, the new Printer still escapes newlines and quotes in strings.- Returns:
- a new Printer that clones all other configurations from the current
TextFormat.Printer
, with the escape mode set to the given parameter.
-
usingTypeRegistry
public TextFormat.Printer usingTypeRegistry(TypeRegistry typeRegistry)
Creates a newTextFormat.Printer
using the given typeRegistry. The new Printer clones all other configurations from the currentTextFormat.Printer
.- Throws:
java.lang.IllegalArgumentException
- if a registry is already set.
-
print
public void print(MessageOrBuilder message, java.lang.Appendable output) throws java.io.IOException
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
public void print(UnknownFieldSet fields, java.lang.Appendable output) throws java.io.IOException
Outputs a textual representation offields
tooutput
.- Throws:
java.io.IOException
-
print
private void print(MessageOrBuilder message, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printAny
private boolean printAny(MessageOrBuilder message, TextFormat.TextGenerator generator) throws java.io.IOException
Attempt to print the 'google.protobuf.Any' message in a human-friendly format. Returns false if the message isn't a valid 'google.protobuf.Any' message (in which case the message should be rendered just like a regular message to help debugging).- Throws:
java.io.IOException
-
printFieldToString
public java.lang.String printFieldToString(Descriptors.FieldDescriptor field, java.lang.Object value)
-
printField
public void printField(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
- Throws:
java.io.IOException
-
printField
private void printField(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printFieldValue
public void printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, java.lang.Appendable output) throws java.io.IOException
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
-
printFieldValue
private void printFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printToString
public java.lang.String printToString(MessageOrBuilder message)
Likeprint()
, but writes directly to aString
and returns it.
-
printToString
public java.lang.String printToString(UnknownFieldSet fields)
Likeprint()
, but writes directly to aString
and returns it.
-
shortDebugString
public java.lang.String shortDebugString(MessageOrBuilder message)
Generates a human readable form of this message, useful for debugging and other purposes, with no newline characters.
-
shortDebugString
public java.lang.String shortDebugString(Descriptors.FieldDescriptor field, java.lang.Object value)
Generates a human readable form of the field, useful for debugging and other purposes, with no newline characters.
-
shortDebugString
public java.lang.String shortDebugString(UnknownFieldSet fields)
Generates a human readable form of the unknown fields, useful for debugging and other purposes, with no newline characters.
-
printUnknownFieldValue
private static void printUnknownFieldValue(int tag, java.lang.Object value, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printMessage
private void printMessage(MessageOrBuilder message, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printSingleField
private void printSingleField(Descriptors.FieldDescriptor field, java.lang.Object value, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printUnknownFields
private static void printUnknownFields(UnknownFieldSet unknownFields, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
printUnknownField
private static void printUnknownField(int number, int wireType, java.util.List<?> values, TextFormat.TextGenerator generator) throws java.io.IOException
- Throws:
java.io.IOException
-
-