private void printFieldValue()

in tajo-common/src/main/java/org/apache/tajo/datum/protobuf/ProtobufJsonFormat.java [149:201]


  private void printFieldValue(FieldDescriptor field, Object value, JsonGenerator generator) throws IOException {
    switch (field.getType()) {
      case INT32:
      case INT64:
      case SINT32:
      case SINT64:
      case SFIXED32:
      case SFIXED64:
      case FLOAT:
      case DOUBLE:
      case BOOL:
        // Good old toString() does what we want for these types.
        generator.print(value.toString());
        break;

      case UINT32:
      case FIXED32:
        generator.print(TextUtils.unsignedToString((Integer) value));
        break;

      case UINT64:
      case FIXED64:
        generator.print(TextUtils.unsignedToString((Long) value));
        break;

      case STRING:
        generator.print("\"");
        generator.print(escapeText((String) value));
        generator.print("\"");
        break;

      case BYTES: {
        generator.print("\"");
        generator.print(escapeBytes((ByteString) value));
        generator.print("\"");
        break;
      }

      case ENUM: {
        generator.print("\"");
        generator.print(((EnumValueDescriptor) value).getName());
        generator.print("\"");
        break;
      }

      case MESSAGE:
      case GROUP:
        generator.print("{");
        print((Message) value, generator);
        generator.print("}");
        break;
    }
  }