From 002516bd03b2ea3f731c8139c9a5f716902ab702 Mon Sep 17 00:00:00 2001 From: Ben Culkin Date: Tue, 7 Apr 2020 21:03:53 -0400 Subject: Finish remove utils.data utils.data now lives in the esodata project; not in this one --- .../java/bjc/utils/data/internals/WrappedLazy.java | 83 ---------------------- 1 file changed, 83 deletions(-) delete mode 100644 base/src/main/java/bjc/utils/data/internals/WrappedLazy.java (limited to 'base/src/main/java/bjc/utils/data/internals/WrappedLazy.java') diff --git a/base/src/main/java/bjc/utils/data/internals/WrappedLazy.java b/base/src/main/java/bjc/utils/data/internals/WrappedLazy.java deleted file mode 100644 index c08e502..0000000 --- a/base/src/main/java/bjc/utils/data/internals/WrappedLazy.java +++ /dev/null @@ -1,83 +0,0 @@ -package bjc.utils.data.internals; - -import java.util.function.Function; -import java.util.function.UnaryOperator; - -import bjc.utils.data.IHolder; -import bjc.utils.data.Lazy; - -/** - * A wrapped lazy value. - * - * @author Ben Culkin - * @param - * The type of the wrapped value. - */ -public class WrappedLazy implements IHolder { - /* Held value. */ - private final IHolder> held; - - /** - * Create a new wrapped lazy value. - * - * @param wrappedHolder - * The holder to make lazy. - */ - public WrappedLazy(final IHolder wrappedHolder) { - held = new Lazy<>(wrappedHolder); - } - - /* - * This has an extra parameter, because otherwise it erases to the same - * as the public one. - * - * This is a case where reified generics would be useful, because then - * the compiler could know which one we meant without the dummy - * parameter. - */ - private WrappedLazy(final IHolder> wrappedHolder, - @SuppressWarnings("unused") final boolean dummy) { - held = wrappedHolder; - } - - @Override - public IHolder bind(final Function> binder) { - final IHolder> newHolder = held.map((containedHolder) -> { - return containedHolder.bind(binder); - }); - - return new WrappedLazy<>(newHolder, false); - } - - @Override - public Function> lift(final Function func) { - return (val) -> { - return new Lazy<>(func.apply(val)); - }; - } - - @Override - public IHolder map(final Function mapper) { - final IHolder> newHolder = held.map((containedHolder) -> { - return containedHolder.map(mapper); - }); - - return new WrappedLazy<>(newHolder, false); - } - - @Override - public IHolder transform(final UnaryOperator transformer) { - held.transform((containedHolder) -> { - return containedHolder.transform(transformer); - }); - - return this; - } - - @Override - public UnwrappedType unwrap(final Function unwrapper) { - return held.unwrap((containedHolder) -> { - return containedHolder.unwrap(unwrapper); - }); - } -} -- cgit v1.2.3