package net.varkhan.base.functor; /** * <b>A Mapper returning an Iterable</b>. * <p/> * * @param <R> the type of elements in the result iterable * @param <A> the type of arguments to the expander * @param <C> the type of the context parameter * * @author varkhan * @date 11/5/13 * @time 7:13 PM */ public interface Expander<R,A,C> extends Mapper<Iterable<R>,A,C> { /** * Expand the argument into a sequence of values. * * @param arg the argument * @param ctx the context * @return the expanded values for this argument */ public Iterable<R> invoke(A arg, C ctx); }