From 284d439f4db00be49de12862b2610a40d84cfc81 Mon Sep 17 00:00:00 2001 From: Michael Williamson Date: Thu, 14 Jul 2016 16:35:31 +0100 Subject: Remove NodeMapper in favour of a DynamicNodeMapper --- src/main/java/org/zwobble/couscous/util/ExtraIterables.java | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/main/java/org/zwobble/couscous/util/ExtraIterables.java') diff --git a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java index d8635c9..1140462 100644 --- a/src/main/java/org/zwobble/couscous/util/ExtraIterables.java +++ b/src/main/java/org/zwobble/couscous/util/ExtraIterables.java @@ -4,8 +4,10 @@ import com.google.common.collect.ImmutableList; import com.google.common.collect.Iterables; import java.util.Iterator; +import java.util.Optional; import java.util.function.BiFunction; import java.util.function.Function; +import java.util.function.Predicate; import java.util.function.Supplier; import java.util.stream.Stream; import java.util.stream.StreamSupport; @@ -96,6 +98,15 @@ public class ExtraIterables { }; } + public static Optional find(Iterable iterable, Predicate predicate) { + for (T element : iterable) { + if (predicate.test(element)) { + return Optional.of(element); + } + } + return Optional.empty(); + } + public static Iterable lazyMap(Iterable iterable, Function function) { return new Iterable() { @Override -- cgit v1.2.3