summaryrefslogtreecommitdiff
path: root/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java
diff options
context:
space:
mode:
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java')
-rw-r--r--BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java
index fb9648e..f5ca240 100644
--- a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java
+++ b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java
@@ -1,5 +1,6 @@
package bjc.utils.data.experimental;
+import java.util.function.BiConsumer;
import java.util.function.BiFunction;
import java.util.function.Function;
@@ -81,4 +82,16 @@ public interface IPair<LeftType, RightType> {
public default RightType getRight() {
return merge((leftValue, rightValue) -> rightValue);
}
+
+ /**
+ * Immediately perfom the specified action with the contents of this pair
+ * @param consumer The action to perform on the pair
+ */
+ public default void doWith(BiConsumer<LeftType, RightType> consumer) {
+ merge((leftValue, rightValue) -> {
+ consumer.accept(leftValue, rightValue);
+
+ return null;
+ });
+ }
}