package net.varkhan.base.functor.functional; import net.varkhan.base.functor.Functional; import net.varkhan.base.functor.Mapper; /** * <b></b>. * <p/> * * @author varkhan * @date 11/24/13 * @time 7:05 PM */ public class MapperFunctional<A,C> implements Functional<A,C> { protected final Mapper<Double,A,C> mapr; public MapperFunctional(Mapper<Double,A,C> mapr) {this.mapr=mapr;} public Mapper<Double,A,C> source() { return mapr; } @Override public double invoke(A arg, C ctx) { Double v=mapr.invoke(arg, ctx); return v==null ? Double.NaN : v; } @Override public String toString() { return mapr.toString(); } }