diff options
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/experimental')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/experimental/IHolder.java | 4 | ||||
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/experimental/IPair.java | 13 |
2 files changed, 16 insertions, 1 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IHolder.java b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IHolder.java index 7d1d7a0..6ccf115 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IHolder.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/experimental/IHolder.java @@ -94,6 +94,8 @@ public interface IHolder<ContainedType> { * @return The holder itself */ public default IHolder<ContainedType> replace(ContainedType newValue) { - return transform((oldValue) -> newValue); + return transform((oldValue) -> { + return newValue; + }); } } 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; + }); + } } |
