1
0
mirror of https://github.com/arduino/Arduino.git synced 2025-03-13 10:29:35 +01:00

Added collector to LibraryList

This commit is contained in:
Cristian Maglie 2017-01-30 17:24:30 +01:00
parent a76588cf5d
commit 1db3aabaab

View File

@ -30,8 +30,15 @@ package processing.app.packages;
import java.io.File;
import java.util.Collections;
import java.util.EnumSet;
import java.util.LinkedList;
import java.util.List;
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 processing.app.helpers.FileUtils;
@ -76,5 +83,36 @@ public class LibraryList extends LinkedList<UserLibrary> {
if (l == lib) return true;
return false;
}
}
public static Collector<UserLibrary, LibraryList, LibraryList> collector() {
return new Collector<UserLibrary, LibraryList, LibraryList>() {
@Override
public Supplier<LibraryList> supplier() {
return () -> new LibraryList();
}
@Override
public BiConsumer<LibraryList, UserLibrary> accumulator() {
return (libs, lib) -> libs.add(lib);
}
@Override
public BinaryOperator<LibraryList> combiner() {
return (we, they) -> {
we.addAll(they);
return we;
};
}
@Override
public Function<LibraryList, LibraryList> finisher() {
return (libs) -> libs;
}
@Override
public Set<Collector.Characteristics> characteristics() {
return EnumSet.noneOf(Characteristics.class);
}
};
}
}