Package com.google.protobuf.util
Class JsonFormat.PrinterImpl
java.lang.Object
com.google.protobuf.util.JsonFormat.PrinterImpl
- Enclosing class:
JsonFormat
A Printer converts protobuf messages to the proto3 JSON format.
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionprivate static class
private static interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final CharSequence
private final CharSequence
private final JsonFormat.TextGenerator
private final com.google.gson.Gson
private final Set
<Descriptors.FieldDescriptor> private final JsonFormat.TypeRegistry
private final boolean
private final boolean
private final TypeRegistry
private final JsonFormat.ShouldPrintDefaults
private final boolean
private static final Map
<String, JsonFormat.PrinterImpl.WellKnownTypePrinter> -
Constructor Summary
ConstructorsConstructorDescriptionPrinterImpl
(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, JsonFormat.ShouldPrintDefaults shouldPrintDefaults, Set<Descriptors.FieldDescriptor> includingDefaultValueFields, boolean preservingProtoFieldNames, Appendable jsonOutput, boolean omittingInsignificantWhitespace, boolean printingEnumsAsInts, boolean sortingMapKeys) -
Method Summary
Modifier and TypeMethodDescriptionprivate static Map
<String, JsonFormat.PrinterImpl.WellKnownTypePrinter> (package private) void
print
(MessageOrBuilder message) private void
print
(MessageOrBuilder message, String typeUrl) Prints a regular message with an optional type URL.private void
printAny
(MessageOrBuilder message) Prints google.protobuf.Anyprivate void
printDuration
(MessageOrBuilder message) Prints google.protobuf.Durationprivate void
printField
(Descriptors.FieldDescriptor field, Object value) private void
printFieldMask
(MessageOrBuilder message) Prints google.protobuf.FieldMaskprivate void
printListValue
(MessageOrBuilder message) Prints google.protobuf.ListValueprivate void
printMapFieldValue
(Descriptors.FieldDescriptor field, Object value) private void
printRepeatedFieldValue
(Descriptors.FieldDescriptor field, Object value) private void
printSingleFieldValue
(Descriptors.FieldDescriptor field, Object value) private void
printSingleFieldValue
(Descriptors.FieldDescriptor field, Object value, boolean alwaysWithQuotes) Prints a field's value in the proto3 JSON format.private void
printStruct
(MessageOrBuilder message) Prints google.protobuf.Structprivate void
printTimestamp
(MessageOrBuilder message) Prints google.protobuf.Timestampprivate void
printValue
(MessageOrBuilder message) Prints google.protobuf.Valueprivate void
printWrapper
(MessageOrBuilder message) Prints wrapper types (e.g., google.protobuf.Int32Value)private boolean
private ByteString
toByteString
(MessageOrBuilder message)
-
Field Details
-
registry
-
oldRegistry
-
shouldPrintDefaults
-
includingDefaultValueFields
-
preservingProtoFieldNames
private final boolean preservingProtoFieldNames -
printingEnumsAsInts
private final boolean printingEnumsAsInts -
sortingMapKeys
private final boolean sortingMapKeys -
generator
-
gson
private final com.google.gson.Gson gson -
blankOrSpace
-
blankOrNewLine
-
wellKnownTypePrinters
-
-
Constructor Details
-
PrinterImpl
PrinterImpl(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, JsonFormat.ShouldPrintDefaults shouldPrintDefaults, Set<Descriptors.FieldDescriptor> includingDefaultValueFields, boolean preservingProtoFieldNames, Appendable jsonOutput, boolean omittingInsignificantWhitespace, boolean printingEnumsAsInts, boolean sortingMapKeys)
-
-
Method Details
-
print
- Throws:
IOException
-
buildWellKnownTypePrinters
-
printAny
Prints google.protobuf.Any- Throws:
IOException
-
printWrapper
Prints wrapper types (e.g., google.protobuf.Int32Value)- Throws:
IOException
-
toByteString
-
printTimestamp
Prints google.protobuf.Timestamp- Throws:
IOException
-
printDuration
Prints google.protobuf.Duration- Throws:
IOException
-
printFieldMask
Prints google.protobuf.FieldMask- Throws:
IOException
-
printStruct
Prints google.protobuf.Struct- Throws:
IOException
-
printValue
Prints google.protobuf.Value- Throws:
IOException
-
printListValue
Prints google.protobuf.ListValue- Throws:
IOException
-
shouldSpeciallyPrint
-
print
Prints a regular message with an optional type URL.- Throws:
IOException
-
printField
- Throws:
IOException
-
printRepeatedFieldValue
private void printRepeatedFieldValue(Descriptors.FieldDescriptor field, Object value) throws IOException - Throws:
IOException
-
printMapFieldValue
- Throws:
IOException
-
printSingleFieldValue
private void printSingleFieldValue(Descriptors.FieldDescriptor field, Object value) throws IOException - Throws:
IOException
-
printSingleFieldValue
private void printSingleFieldValue(Descriptors.FieldDescriptor field, Object value, boolean alwaysWithQuotes) throws IOException Prints a field's value in the proto3 JSON format.- Parameters:
alwaysWithQuotes
- whether to always add double-quotes to primitive types- Throws:
IOException
-