in infra/merge/src/main/java/org/apache/shardingsphere/infra/merge/result/impl/local/LocalDataQueryResultRow.java [44:70]
private Object convert(final Object data) {
if (null == data || "null".equals(data)) {
return "";
}
if (data instanceof Optional) {
return ((Optional<?>) data).isPresent() ? convert(((Optional<?>) data).get()) : "";
}
if (data instanceof String) {
return data;
}
if (data instanceof Boolean || data instanceof Integer || data instanceof Long || data instanceof LocalDateTime) {
return data.toString();
}
if (data instanceof Enum) {
return ((Enum<?>) data).name();
}
if (data instanceof Properties) {
return ((Properties) data).isEmpty() ? "" : JsonUtils.toJsonString(convert((Properties) data));
}
if (data instanceof Map) {
return ((Map<?, ?>) data).isEmpty() ? "" : JsonUtils.toJsonString(data);
}
if (data instanceof Collection) {
return ((Collection<?>) data).isEmpty() ? "" : JsonUtils.toJsonString(data);
}
return JsonUtils.toJsonString(data);
}