Class RecursiveResult.Recurse<A,B>

java.lang.Object
com.jnape.palatable.lambda.functions.recursion.RecursiveResult<A,B>
com.jnape.palatable.lambda.functions.recursion.RecursiveResult.Recurse<A,B>
All Implemented Interfaces:
CoProduct2<A,B,RecursiveResult<A,B>>, Applicative<B,RecursiveResult<A,?>>, Bifunctor<A,B,RecursiveResult<?,?>>, BoundedBifunctor<A,B,Object,Object,RecursiveResult<?,?>>, Functor<B,RecursiveResult<A,?>>, Monad<B,RecursiveResult<A,?>>, MonadRec<B,RecursiveResult<A,?>>, Traversable<B,RecursiveResult<A,?>>
Enclosing class:
RecursiveResult<A,B>

static final class RecursiveResult.Recurse<A,B> extends RecursiveResult<A,B>
  • Field Details

    • a

      final A a
  • Constructor Details

    • Recurse

      private Recurse(A a)
  • Method Details

    • match

      public <R> R match(Fn1<? super A,? extends R> aFn, Fn1<? super B,? extends R> bFn)
      Description copied from interface: CoProduct2
      Type-safe convergence requiring a match against all potential types.
      Type Parameters:
      R - result type
      Parameters:
      aFn - morphism A -> R
      bFn - morphism B -> R
      Returns:
      the result of applying the appropriate morphism to this coproduct's unwrapped value
    • equals

      public boolean equals(Object other)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object