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.Object
A Printer converts protobuf messages to JSON format.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
JsonFormat.PrinterImpl.GsonHolder
private static interface
JsonFormat.PrinterImpl.WellKnownTypePrinter
-
Field Summary
Fields Modifier and Type Field Description private boolean
alwaysOutputDefaultValueFields
private java.lang.CharSequence
blankOrNewLine
private java.lang.CharSequence
blankOrSpace
private JsonFormat.TextGenerator
generator
private com.google.gson.Gson
gson
private java.util.Set<Descriptors.FieldDescriptor>
includingDefaultValueFields
private JsonFormat.TypeRegistry
oldRegistry
private boolean
preservingProtoFieldNames
private boolean
printingEnumsAsInts
private TypeRegistry
registry
private boolean
sortingMapKeys
private static java.util.Map<java.lang.String,JsonFormat.PrinterImpl.WellKnownTypePrinter>
wellKnownTypePrinters
-
Constructor Summary
Constructors Constructor Description PrinterImpl(TypeRegistry registry, JsonFormat.TypeRegistry oldRegistry, boolean alwaysOutputDefaultValueFields, 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) void
print(MessageOrBuilder message)
private void
print(MessageOrBuilder message, java.lang.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, java.lang.Object value)
private void
printFieldMask(MessageOrBuilder message)
Prints google.protobuf.FieldMaskprivate void
printListValue(MessageOrBuilder message)
Prints google.protobuf.ListValueprivate void
printMapFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)
private void
printRepeatedFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)
private void
printSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value)
private void
printSingleFieldValue(Descriptors.FieldDescriptor field, java.lang.Object value, boolean alwaysWithQuotes)
Prints a field's value in 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 ByteString
toByteString(MessageOrBuilder message)
-
-
-
Field Detail
-
registry
private final TypeRegistry registry
-
oldRegistry
private final JsonFormat.TypeRegistry oldRegistry
-
alwaysOutputDefaultValueFields
private final boolean alwaysOutputDefaultValueFields
-
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, boolean alwaysOutputDefaultValueFields, 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
-
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 JSON format.- Parameters:
alwaysWithQuotes
- whether to always add double-quotes to primitive types.- Throws:
java.io.IOException
-
-