diff options
Diffstat (limited to 'BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java')
| -rw-r--r-- | BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java b/BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java index c36cafa..5be55cc 100644 --- a/BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java +++ b/BJC-Utils2/src/main/java/bjc/utils/data/WrappedOption.java @@ -6,15 +6,15 @@ import java.util.function.UnaryOperator; class WrappedOption<ContainedType> implements IHolder<ContainedType> { private IHolder<IHolder<ContainedType>> held; + public WrappedOption(IHolder<ContainedType> seedValue) { + held = new Option<>(seedValue); + } + private WrappedOption(IHolder<IHolder<ContainedType>> toHold, @SuppressWarnings("unused") boolean dummy) { held = toHold; } - public WrappedOption(IHolder<ContainedType> seedValue) { - held = new Option<>(seedValue); - } - @Override public <BoundType> IHolder<BoundType> bind( Function<ContainedType, IHolder<BoundType>> binder) { @@ -33,6 +33,14 @@ class WrappedOption<ContainedType> implements IHolder<ContainedType> { } @Override + public <NewType> Function<ContainedType, IHolder<NewType>> lift( + Function<ContainedType, NewType> func) { + return (val) -> { + return new Option<>(func.apply(val)); + }; + } + + @Override public <MappedType> IHolder<MappedType> map( Function<ContainedType, MappedType> mapper) { IHolder<IHolder<MappedType>> newHolder = held @@ -78,12 +86,4 @@ class WrappedOption<ContainedType> implements IHolder<ContainedType> { }); }); } - - @Override - public <NewType> Function<ContainedType, IHolder<NewType>> lift( - Function<ContainedType, NewType> func) { - return (val) -> { - return new Option<>(func.apply(val)); - }; - } } |
