Package com.google.protobuf.util
Class JsonFormat.PrinterImpl
- java.lang.Object
-
- com.google.protobuf.util.JsonFormat.PrinterImpl
-
- Enclosing class:
- JsonFormat
private static final class JsonFormat.PrinterImpl extends java.lang.ObjectA Printer converts protobuf messages to the proto3 JSON format.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classJsonFormat.PrinterImpl.GsonHolderprivate static interfaceJsonFormat.PrinterImpl.WellKnownTypePrinter
-
Field Summary
Fields Modifier and Type Field Description private java.lang.CharSequenceblankOrNewLineprivate java.lang.CharSequenceblankOrSpaceprivate JsonFormat.TextGeneratorgeneratorprivate com.google.gson.Gsongsonprivate java.util.Set<Descriptors.FieldDescriptor>includingDefaultValueFieldsprivate JsonFormat.TypeRegistryoldRegistryprivate booleanpreservingProtoFieldNamesprivate booleanprintingEnumsAsIntsprivate TypeRegistryregistryprivate JsonFormat.ShouldPrintDefaultsshouldPrintDefaultsprivate booleansortingMapKeysprivate static java.util.Map<java.lang.String,JsonFormat.PrinterImpl.WellKnownTypePrinter>wellKnownTypePrinters
-
Constructor Summary
Constructors Constructor Description PrinterImpl(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, JsonFormat.ShouldPrintDefaults shouldPrintDefaults, java.util.Set<Descriptors.FieldDescriptor> includingDefaultValueFields, boolean preservingProtoFieldNames, java.lang.Appendable jsonOutput, boolean omittingInsignificantWhitespace, boolean printingEnumsAsInts, boolean sortingMapKeys)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.Map<java.lang.String,JsonFormat.PrinterImpl.WellKnownTypePrinter>buildWellKnownTypePrinters()(package private) voidprint(MessageOrBuilder message)private voidprint(MessageOrBuilder message, java.lang.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, java.lang.Object value)private voidprintFieldMask(MessageOrBuilder message)Prints google.protobuf.FieldMaskprivate voidprintListValue(MessageOrBuilder message)Prints google.protobuf.ListValueprivate voidprintMapFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)private voidprintRepeatedFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)private voidprintSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)private voidprintSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.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 booleanshouldSpeciallyPrint(Descriptors.FieldDescriptor field)private ByteStringtoByteString(MessageOrBuilder message)
-
-
-
Field Detail
-
registry
private final TypeRegistry registry
-
oldRegistry
private final JsonFormat.TypeRegistry oldRegistry
-
shouldPrintDefaults
private final JsonFormat.ShouldPrintDefaults shouldPrintDefaults
-
includingDefaultValueFields
private final java.util.Set<Descriptors.FieldDescriptor> includingDefaultValueFields
-
preservingProtoFieldNames
private final boolean preservingProtoFieldNames
-
printingEnumsAsInts
private final boolean printingEnumsAsInts
-
sortingMapKeys
private final boolean sortingMapKeys
-
generator
private final JsonFormat.TextGenerator generator
-
gson
private final com.google.gson.Gson gson
-
blankOrSpace
private final java.lang.CharSequence blankOrSpace
-
blankOrNewLine
private final java.lang.CharSequence blankOrNewLine
-
wellKnownTypePrinters
private static final java.util.Map<java.lang.String,JsonFormat.PrinterImpl.WellKnownTypePrinter> wellKnownTypePrinters
-
-
Constructor Detail
-
PrinterImpl
PrinterImpl(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, JsonFormat.ShouldPrintDefaults shouldPrintDefaults, java.util.Set<Descriptors.FieldDescriptor> includingDefaultValueFields, boolean preservingProtoFieldNames, java.lang.Appendable jsonOutput, boolean omittingInsignificantWhitespace, boolean printingEnumsAsInts, boolean sortingMapKeys)
-
-
Method Detail
-
print
void print(MessageOrBuilder message) throws java.io.IOException
- Throws:
java.io.IOException
-
buildWellKnownTypePrinters
private static java.util.Map<java.lang.String,JsonFormat.PrinterImpl.WellKnownTypePrinter> buildWellKnownTypePrinters()
-
printAny
private void printAny(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.Any- Throws:
java.io.IOException
-
printWrapper
private void printWrapper(MessageOrBuilder message) throws java.io.IOException
Prints wrapper types (e.g., google.protobuf.Int32Value)- Throws:
java.io.IOException
-
toByteString
private ByteString toByteString(MessageOrBuilder message)
-
printTimestamp
private void printTimestamp(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.Timestamp- Throws:
java.io.IOException
-
printDuration
private void printDuration(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.Duration- Throws:
java.io.IOException
-
printFieldMask
private void printFieldMask(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.FieldMask- Throws:
java.io.IOException
-
printStruct
private void printStruct(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.Struct- Throws:
java.io.IOException
-
printValue
private void printValue(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.Value- Throws:
java.io.IOException
-
printListValue
private void printListValue(MessageOrBuilder message) throws java.io.IOException
Prints google.protobuf.ListValue- Throws:
java.io.IOException
-
shouldSpeciallyPrint
private boolean shouldSpeciallyPrint(Descriptors.FieldDescriptor field)
-
print
private void print(MessageOrBuilder message, @Nullable java.lang.String typeUrl) throws java.io.IOException
Prints a regular message with an optional type URL.- Throws:
java.io.IOException
-
printField
private void printField(Descriptors.FieldDescriptor field, java.lang.Object value) throws java.io.IOException
- Throws:
java.io.IOException
-
printRepeatedFieldValue
private void printRepeatedFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value) throws java.io.IOException
- Throws:
java.io.IOException
-
printMapFieldValue
private void printMapFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value) throws java.io.IOException
- Throws:
java.io.IOException
-
printSingleFieldValue
private void printSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value) throws java.io.IOException
- Throws:
java.io.IOException
-
printSingleFieldValue
private void printSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, boolean alwaysWithQuotes) throws java.io.IOException
Prints a field's value in the proto3 JSON format.- Parameters:
alwaysWithQuotes- whether to always add double-quotes to primitive types- Throws:
java.io.IOException
-
-