@Before public void before() { value = random.nextLong(); sumMatching = new Matching.PatternMatching<>(value); }
@Test public void shouldMatchTheAnyOverride() { String of = Match("z").with( Case(t -> t.equals("a"), () -> "a"), Case(t -> t.equals("b"), () -> "b"), Case(t -> t.equals("c"), () -> "c"), Any(() -> "any") ); assertEquals("any", of); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Case<T, R> case6, Any<T, R> any) { return with(case1, case2, case3, case4, case5, case6).orElseGet(() -> any.apply(value)); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Any<T, R> any) { return with(case1, case2, case3, case4).orElseGet(() -> any.apply(value)); }
public static <T extends Deconstruct<T1>, T1> PatternMatching<T1> Match(T value) { return new PatternMatching<>(value.unapply()); }
public static <T extends Deconstruct3<T1, T2, T3>, T1, T2, T3> PatternMatching<Tuple3<T1, T2, T3>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public static <T extends Deconstruct2<T1, T2>, T1, T2> PatternMatching<Tuple2<T1, T2>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public static <T> PatternMatching<T> Match(T value) { return new PatternMatching<>(value); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Any<T, R> any) { return with(case1, case2, case3, case4, case5).orElseGet(() -> any.apply(value)); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Case<T, R> case6, Case<T, R> case7, Any<T, R> any) { return with(case1, case2, case3, case4, case5, case6, case7).orElseGet(() -> any.apply(value)); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Any<T, R> any) { return with(case1, case2, case3).orElseGet(() -> any.apply(value)); }
public static <T extends Deconstruct5<T1, T2, T3, T4, T5>, T1, T2, T3, T4, T5> PatternMatching<Tuple5<T1, T2, T3, T4, T5>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Case<T, R> case6, Case<T, R> case7, Case<T, R> case8, Any<T, R> any) { return with(case1, case2, case3, case4, case5, case6, case7, case8).orElseGet(() -> any.apply(value)); }
public static <T extends Deconstruct4<T1, T2, T3, T4>, T1, T2, T3, T4> PatternMatching<Tuple4<T1, T2, T3, T4>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public static <T extends Deconstruct1<T1>, T1> PatternMatching<Tuple1<T1>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Case<T, R> case6, Case<T, R> case7, Case<T, R> case8, Any<T, R> any) { return with(case1, case2, case3, case4, case5, case6, case7, case8).orElseGet(() -> any.apply(value)); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Case<T, R> case5, Case<T, R> case6, Any<T, R> any) { return with(case1, case2, case3, case4, case5, case6).orElseGet(() -> any.apply(value)); }
public <R> R with(Case<T, R> case1, Case<T, R> case2, Case<T, R> case3, Case<T, R> case4, Any<T, R> any) { return with(case1, case2, case3, case4).orElseGet(() -> any.apply(value)); }
public static <T extends Deconstruct5<T1, T2, T3, T4, T5>, T1, T2, T3, T4, T5> PatternMatching<Tuple5<T1, T2, T3, T4, T5>> Match(T value) { return new PatternMatching<>(value.unapply()); }
public static <T extends Deconstruct3<T1, T2, T3>, T1, T2, T3> PatternMatching<Tuple3<T1, T2, T3>> Match(T value) { return new PatternMatching<>(value.unapply()); }