예제 #1
0
 @Override
 public final <C> Optional<P2<S, C>, P2<A, C>> first() {
   return new Optional<>(pOptional.first());
 }
예제 #2
0
 @Override
 public F<S, V2<S>> modifyV2F(final F<A, V2<A>> f) {
   return pOptional.modifyV2F(f);
 }
예제 #3
0
 @Override
 public <L> F<S, Either<L, S>> modifyEitherF(final F<A, Either<L, A>> f) {
   return pOptional.modifyEitherF(f);
 }
예제 #4
0
 @Override
 public Either<S, A> getOrModify(final S s) {
   return pOptional.getOrModify(s);
 }
예제 #5
0
 @Override
 public F<S, Option<S>> modifyOptionF(final F<A, Option<A>> f) {
   return pOptional.modifyOptionF(f);
 }
예제 #6
0
 @Override
 public F<S, IO<S>> modifyIOF(final F<A, IO<A>> f) {
   return pOptional.modifyIOF(f);
 }
예제 #7
0
 /** compose a {@link Optional} with a {@link Lens} */
 public final <C> Optional<S, C> composeLens(final Lens<A, C> other) {
   return new Optional<>(pOptional.composeLens(other.pLens));
 }
예제 #8
0
 @Override
 public F<S, Promise<S>> modifyPromiseF(final F<A, Promise<A>> f) {
   return pOptional.modifyPromiseF(f);
 }
예제 #9
0
 /** compose a {@link Optional} with a {@link Optional} */
 public final <C> Optional<S, C> composeOptional(final Optional<A, C> other) {
   return new Optional<>(pOptional.composeOptional(other.pOptional));
 }
예제 #10
0
 /** compose a {@link Optional} with a {@link Prism} */
 public final <C> Optional<S, C> composePrism(final Prism<A, C> other) {
   return new Optional<>(pOptional.composePrism(other.pPrism));
 }
예제 #11
0
 /** compose a {@link Optional} with a {@link Traversal} */
 public final <C> Traversal<S, C> composeTraversal(final Traversal<A, C> other) {
   return new Traversal<>(pOptional.composeTraversal(other.pTraversal));
 }
예제 #12
0
 /** compose a {@link Optional} with a {@link Setter} */
 public final <C> Setter<S, C> composeSetter(final Setter<A, C> other) {
   return new Setter<>(pOptional.composeSetter(other.pSetter));
 }
예제 #13
0
 @Override
 public final <C> Optional<P2<C, S>, P2<C, A>> second() {
   return new Optional<>(pOptional.second());
 }
예제 #14
0
 @Override
 public F<S, Trampoline<S>> modifyTrampolineF(final F<A, Trampoline<A>> f) {
   return pOptional.modifyTrampolineF(f);
 }
예제 #15
0
 /** compose a {@link Optional} with an {@link Iso} */
 public final <C> Optional<S, C> composeIso(final Iso<A, C> other) {
   return new Optional<>(pOptional.composeIso(other.pIso));
 }
예제 #16
0
 @Override
 public F<S, Stream<S>> modifyStreamF(final F<A, Stream<A>> f) {
   return pOptional.modifyStreamF(f);
 }
예제 #17
0
 /** view a {@link Optional} as a {@link Setter} */
 @Override
 public final Setter<S, A> asSetter() {
   return new Setter<>(pOptional.asSetter());
 }
예제 #18
0
 @Override
 public F<S, P1<S>> modifyP1F(final F<A, P1<A>> f) {
   return pOptional.modifyP1F(f);
 }
예제 #19
0
 /** view a {@link Optional} as a {@link Traversal} */
 @Override
 public final Traversal<S, A> asTraversal() {
   return new Traversal<>(pOptional.asTraversal());
 }
예제 #20
0
 @Override
 public F<S, List<S>> modifyListF(final F<A, List<A>> f) {
   return pOptional.modifyListF(f);
 }
예제 #21
0
 public static <S> Optional<S, S> id() {
   return new Optional<>(POptional.pId());
 }
예제 #22
0
 @Override
 public <C> F<S, F<C, S>> modifyFunctionF(final F<A, F<C, A>> f) {
   return pOptional.modifyFunctionF(f);
 }
예제 #23
0
 @Override
 public F<S, S> set(final A a) {
   return pOptional.set(a);
 }
예제 #24
0
 @Override
 public F<S, S> modify(final F<A, A> f) {
   return pOptional.modify(f);
 }
예제 #25
0
 @Override
 public <E> F<S, Validation<E, S>> modifyValidationF(final F<A, Validation<E, A>> f) {
   return pOptional.modifyValidationF(f);
 }
예제 #26
0
 @Override
 public Option<A> getOption(final S s) {
   return pOptional.getOption(s);
 }
예제 #27
0
 /** join two {@link Optional} with the same target */
 public final <S1> Optional<Either<S, S1>, A> sum(final Optional<S1, A> other) {
   return new Optional<>(pOptional.sum(other.pOptional));
 }