diff options
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java new file mode 100644 index 0000000..f680ed7 --- /dev/null +++ b/BJC-Utils2/src/main/java/bjc/utils/data/lazy/LazyPair.java @@ -0,0 +1,31 @@ +package bjc.utils.data.lazy; + +import java.util.function.BiConsumer; +import java.util.function.BiFunction; +import java.util.function.Function; + +import bjc.utils.data.IPair; +import bjc.utils.data.Pair; + +public class LazyPair<L, R> implements IPair<L, R> { + private LazyHolder<Pair<L, R>> del; + + @Override + public <L2, R2> IPair<L2, R2> apply(Function<L, L2> lf, + Function<R, R2> rf) { + return del.unwrap((par) -> par.apply(lf, rf)); + } + + @Override + public <E> E merge(BiFunction<L, R, E> bf) { + return del.unwrap((par) -> par.merge(bf)); + } + + @Override + public void doWith(BiConsumer<L, R> bc) { + del.doWith((par) -> { + par.doWith(bc); + }); + } + +} |
