コード例 #1
0
  private static void setProtoKuraMetricValue(
      final KuraPayloadProto.KuraPayload.KuraMetric.Builder metric, final Object o)
      throws Exception {

    if (o instanceof String) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.STRING);
      metric.setStringValue((String) o);
    } else if (o instanceof Double) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.DOUBLE);
      metric.setDoubleValue((Double) o);
    } else if (o instanceof Integer) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.INT32);
      metric.setIntValue((Integer) o);
    } else if (o instanceof Float) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.FLOAT);
      metric.setFloatValue((Float) o);
    } else if (o instanceof Long) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.INT64);
      metric.setLongValue((Long) o);
    } else if (o instanceof Boolean) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.BOOL);
      metric.setBoolValue((Boolean) o);
    } else if (o instanceof byte[]) {
      metric.setType(KuraPayloadProto.KuraPayload.KuraMetric.ValueType.BYTES);
      metric.setBytesValue(ByteString.copyFrom((byte[]) o));
    } else if (o == null) {
      throw new Exception("null value");
    } else {
      throw new Exception(o.getClass().getName());
    }
  }