Skip to content

Commit d1ea946

Browse files
committed
Custom collector for vertx json array
1 parent f0017fa commit d1ea946

File tree

1 file changed

+46
-0
lines changed

1 file changed

+46
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
package com.jaiswalakshay.utils;
2+
3+
import io.vertx.core.json.JsonArray;
4+
5+
import java.util.EnumSet;
6+
import java.util.Set;
7+
import java.util.function.BiConsumer;
8+
import java.util.function.BinaryOperator;
9+
import java.util.function.Function;
10+
import java.util.function.Supplier;
11+
import java.util.stream.Collector;
12+
13+
/**
14+
* * @author Akshay
15+
* */
16+
public class JsonArrayCollector {
17+
18+
public static <T> Collector<T, JsonArray, JsonArray> toJsonArray() {
19+
return new Collector<T, JsonArray, JsonArray>() {
20+
@Override
21+
public Supplier supplier() {
22+
return JsonArray::new;
23+
}
24+
25+
@Override
26+
public BiConsumer<JsonArray, T> accumulator() {
27+
return JsonArray::add;
28+
}
29+
30+
@Override
31+
public BinaryOperator<JsonArray> combiner() {
32+
return JsonArray::addAll;
33+
}
34+
35+
@Override
36+
public Function<JsonArray, JsonArray> finisher() {
37+
return Function.identity();
38+
}
39+
40+
@Override
41+
public Set<Characteristics> characteristics() {
42+
return EnumSet.of(Collector.Characteristics.IDENTITY_FINISH);
43+
}
44+
};
45+
}
46+
}

0 commit comments

Comments
 (0)