/** * Returns a new {@link PFBuilder} of {@link java.lang.Iterable} with a case statement added. * * @param object the object to match the argument against * @param apply the function to apply for the given argument - must return an {@link * java.lang.Iterable} * @param <P> the type of the argument * @return a builder with the case statement added */ public static <P> PFBuilder<Object, Iterable<Object>> matchEquals( final P object, final IterableApply<P> apply) { return Match.matchEquals(object, apply); }
/** * Returns a new {@link PFBuilder} of {@link java.lang.Iterable} with a default case statement * added. * * @param apply the function to apply for the given argument - must return an {@link * java.lang.Iterable} * @return a builder with the case statement added */ public static PFBuilder<Object, Iterable<Object>> matchAny(final IterableApply<Object> apply) { return Match.matchAny(apply); }
/** * Returns a new {@link PFBuilder} of {@link java.lang.Iterable} with a case statement added. * * @param type the type to match the argument against * @param predicate the predicate to match the argument against * @param apply the function to apply for the given argument - must return {@link * java.lang.Iterable} * @param <P> the type of the argument * @return a builder with the case statement added */ public static <P> PFBuilder<Object, Iterable<Object>> match( final Class<? extends P> type, final FI.TypedPredicate<? extends P> predicate, final IterableApply<? extends P> apply) { return Match.match(type, predicate, apply); }