private static void marshal()

in src/main/java/org/apache/sling/feature/io/json/ManifestUtils.java [67:92]


    private static void marshal(String key, Object value, BiConsumer<String, String> sink) {
        StringBuilder keyBuilder = new StringBuilder(key);
        if (value instanceof  List) {
            List list = (List) value;
            keyBuilder.append(":List");
            if (!list.isEmpty()) {
                String type = type(list.get(0));
                if (!type.equals("String")) {
                    keyBuilder.append('<').append(type).append('>');
                }
                value = list.stream().map(
                        v -> v.toString().replace(",", "\\,")
                ).collect(Collectors.joining(","));
            }
            else {
                value = "";
            }
        }
        else {
            String type = type(value);
            if (!type.equals("String")) {
                keyBuilder.append(':').append(type);
            }
        }
        sink.accept(keyBuilder.toString(), value.toString());
    }