package com.bernard.nodecames.util; import java.util.EnumSet; import java.util.Set; import java.util.function.BiConsumer; import java.util.function.BinaryOperator; import java.util.function.Function; import java.util.function.Supplier; import java.util.stream.Collector; import tools.jackson.databind.JsonNode; import tools.jackson.databind.node.ArrayNode; import tools.jackson.databind.node.JsonNodeFactory; public class Utils { private Utils() {} public static final Collector jsonNodeCollector(JsonNodeFactory jsn) { return new Collector() { @Override public Supplier supplier() { return jsn::arrayNode; } @Override public BiConsumer accumulator() { return ArrayNode::add; } @Override public BinaryOperator combiner() { return (a,b) -> { a.addAll(b); return a; }; } @Override public Function finisher() { return Function.identity(); } @Override public Set characteristics() { return EnumSet.of(Characteristics.IDENTITY_FINISH); } }; } }