generator.print("{" + blankOrNewLine); generator.indent(); generator.print("\"@type\":" + blankOrSpace + gson.toJson(typeUrl)); printedField = true; if (printedField) { generator.print("," + blankOrNewLine); } else { printedField = true; generator.print(blankOrNewLine); generator.outdent(); generator.print("}");
case SFIXED32: if (alwaysWithQuotes) { generator.print("\""); generator.print(((Integer) value).toString()); if (alwaysWithQuotes) { generator.print("\""); case SINT64: case SFIXED64: generator.print("\"" + ((Long) value).toString() + "\""); break; generator.print("\""); generator.print("true"); } else { generator.print("false"); generator.print("\""); Float floatValue = (Float) value; if (floatValue.isNaN()) { generator.print("\"NaN\""); } else if (floatValue.isInfinite()) { if (floatValue < 0) { generator.print("\"-Infinity\""); } else { generator.print("\"Infinity\"");
generator.print("{}"); return; generator.print("{" + blankOrNewLine); generator.indent(); generator.print("\"@type\":" + blankOrSpace + gson.toJson(typeUrl) + "," + blankOrNewLine); generator.print("\"value\":" + blankOrSpace); printer.print(this, contentMessage); generator.print(blankOrNewLine); generator.outdent(); generator.print("}"); } else {
throw new InvalidProtocolBufferException("Invalid map field."); generator.print("{" + blankOrNewLine); generator.indent(); boolean printedElement = false; for (Object element : (List) value) { Object entryValue = entry.getField(valueField); if (printedElement) { generator.print("," + blankOrNewLine); } else { printedElement = true; generator.print(":" + blankOrSpace); printSingleFieldValue(valueField, entryValue); generator.print(blankOrNewLine); generator.outdent(); generator.print("}");
/** Prints google.protobuf.Value */ private void printValue(MessageOrBuilder message) throws IOException { // For a Value message, only the value of the field is formatted. Map<FieldDescriptor, Object> fields = message.getAllFields(); if (fields.isEmpty()) { // No value set. generator.print("null"); return; } // A Value message can only have at most one field set (it only contains // an oneof). if (fields.size() != 1) { throw new InvalidProtocolBufferException("Invalid Value type."); } for (Map.Entry<FieldDescriptor, Object> entry : fields.entrySet()) { printSingleFieldValue(entry.getKey(), entry.getValue()); } }
private void printField(FieldDescriptor field, Object value) throws IOException { if (preservingProtoFieldNames) { generator.print("\"" + field.getName() + "\":" + blankOrSpace); } else { generator.print("\"" + field.getJsonName() + "\":" + blankOrSpace); } if (field.isMapField()) { printMapFieldValue(field, value); } else if (field.isRepeated()) { printRepeatedFieldValue(field, value); } else { printSingleFieldValue(field, value); } }
@SuppressWarnings("rawtypes") private void printRepeatedFieldValue(FieldDescriptor field, Object value) throws IOException { generator.print("["); boolean printedElement = false; for (Object element : (List) value) { if (printedElement) { generator.print("," + blankOrSpace); } else { printedElement = true; } printSingleFieldValue(field, element); } generator.print("]"); }
/** Prints google.protobuf.Duration */ private void printDuration(MessageOrBuilder message) throws IOException { Duration value = Duration.parseFrom(toByteString(message)); generator.print("\"" + Durations.toString(value) + "\""); }
/** Prints google.protobuf.FieldMask */ private void printFieldMask(MessageOrBuilder message) throws IOException { FieldMask value = FieldMask.parseFrom(toByteString(message)); generator.print("\"" + FieldMaskUtil.toJsonString(value) + "\""); }
/** Prints google.protobuf.Timestamp */ private void printTimestamp(MessageOrBuilder message) throws IOException { Timestamp value = Timestamp.parseFrom(toByteString(message)); generator.print("\"" + Timestamps.toString(value) + "\""); }