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 classprivate static interface -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final booleanprivate final CharSequenceprivate final CharSequenceprivate final JsonFormat.TextGeneratorprivate final com.google.gson.Gsonprivate final Set<Descriptors.FieldDescriptor>private final JsonFormat.TypeRegistryprivate final booleanprivate final booleanprivate final TypeRegistryprivate final booleanprivate static final Map<String,JsonFormat.PrinterImpl.WellKnownTypePrinter> -
Constructor Summary
ConstructorsConstructorDescriptionPrinterImpl(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, boolean alwaysOutputDefaultValueFields, 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) voidprint(MessageOrBuilder message) private voidprint(MessageOrBuilder message, String typeUrl) Prints a regular message with an optional type URL.private voidprintAny(MessageOrBuilder message) Prints google.protobuf.Anyprivate voidprintDuration(MessageOrBuilder message) Prints google.protobuf.Durationprivate voidprintField(Descriptors.FieldDescriptor field, Object value) private voidprintFieldMask(MessageOrBuilder message) Prints google.protobuf.FieldMaskprivate voidprintListValue(MessageOrBuilder message) Prints google.protobuf.ListValueprivate voidprintMapFieldValue(Descriptors.FieldDescriptor field, Object value) private voidprintRepeatedFieldValue(Descriptors.FieldDescriptor field, Object value) private voidprintSingleFieldValue(Descriptors.FieldDescriptor field, Object value) private voidprintSingleFieldValue(Descriptors.FieldDescriptor field, Object value, boolean alwaysWithQuotes) Prints a field's value in the proto3 JSON format.private voidprintStruct(MessageOrBuilder message) Prints google.protobuf.Structprivate voidprintTimestamp(MessageOrBuilder message) Prints google.protobuf.Timestampprivate voidprintValue(MessageOrBuilder message) Prints google.protobuf.Valueprivate voidprintWrapper(MessageOrBuilder message) Prints wrapper types (e.g., google.protobuf.Int32Value)private ByteStringtoByteString(MessageOrBuilder message)
-
Field Details
-
registry
-
oldRegistry
-
alwaysOutputDefaultValueFields
private final boolean alwaysOutputDefaultValueFields -
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, boolean alwaysOutputDefaultValueFields, 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
-
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
-