Package io.vavr

Class API.Match.Pattern3<T,T1,T2,T3>

java.lang.Object
io.vavr.API.Match.Pattern3<T,T1,T2,T3>
Type Parameters:
T - Class type that is matched by this pattern
T1 - Member type 1 of the composite part this pattern decomposes
T2 - Member type 2 of the composite part this pattern decomposes
T3 - Member type 3 of the composite part this pattern decomposes
All Implemented Interfaces:
API.Match.Pattern<T,Tuple3<T1,T2,T3>>, Function1<T,Tuple3<T1,T2,T3>>, PartialFunction<T,Tuple3<T1,T2,T3>>, Serializable, Function<T,Tuple3<T1,T2,T3>>
Enclosing class:
API.Match<T>

public abstract static class API.Match.Pattern3<T,T1,T2,T3> extends Object implements API.Match.Pattern<T,Tuple3<T1,T2,T3>>
A API.Match.Pattern implementation for the pattern with 3 intermediate types
See Also:
  • Constructor Details

    • Pattern3

      protected Pattern3()
      Creates a new Pattern3.

      This constructor is protected because Pattern3 is abstract and intended to be subclassed rather than instantiated directly.

  • Method Details

    • of

      public static <T, T1 extends U1, U1, T2 extends U2, U2, T3 extends U3, U3> API.Match.Pattern3<T,T1,T2,T3> of(@NonNull Class<? super T> type, @NonNull API.Match.Pattern<T1,?> p1, @NonNull API.Match.Pattern<T2,?> p2, @NonNull API.Match.Pattern<T3,?> p3, @NonNull Function<T,Tuple3<U1,U2,U3>> unapply)
      Static factory for a API.Match.Pattern3 based on a Class, 3 API.Match.Patterns to decompose it to and a mapper to aggregate result back into a Tuple3
      Type Parameters:
      T - Class type matched by this pattern
      T1 - Member type 1 of the composite part this pattern decomposes
      U1 - Member type 1 of the Tuple the composite part of this pattern decomposes to
      T2 - Member type 2 of the composite part this pattern decomposes
      U2 - Member type 2 of the Tuple the composite part of this pattern decomposes to
      T3 - Member type 3 of the composite part this pattern decomposes
      U3 - Member type 3 of the Tuple the composite part of this pattern decomposes to
      Parameters:
      type - Class to build the pattern from
      p1 - API.Match.Pattern matching the intermediate type 1
      p2 - API.Match.Pattern matching the intermediate type 2
      p3 - API.Match.Pattern matching the intermediate type 3
      unapply - Mapper function from T to a Tuple3
      Returns:
      new Pattern3