private Object convert()

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);
    }