aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/org/zwobble/couscous/util/Optionals.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/org/zwobble/couscous/util/Optionals.java')
-rw-r--r--src/main/java/org/zwobble/couscous/util/Optionals.java8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/main/java/org/zwobble/couscous/util/Optionals.java b/src/main/java/org/zwobble/couscous/util/Optionals.java
index 979dc5f..fd57924 100644
--- a/src/main/java/org/zwobble/couscous/util/Optionals.java
+++ b/src/main/java/org/zwobble/couscous/util/Optionals.java
@@ -6,6 +6,14 @@ import java.util.function.BiFunction;
public class Optionals {
private Optionals() {}
+ public static <T> Optional<T> first(Optional<T> first, Optional<T> second) {
+ if (first.isPresent()) {
+ return first;
+ } else {
+ return second;
+ }
+ }
+
public static <T1, T2, R> Optional<R> flatMap(
Optional<T1> first,
Optional<T2> second,