package net.varkhan.base.functor.predicate; import net.varkhan.base.functor.Mapper; import net.varkhan.base.functor.Predicate; /** * <b></b>. * <p/> * * @author varkhan * @date 11/24/13 * @time 7:03 PM */ public class MapperPredicate<A,C> implements Predicate<A,C> { protected final Mapper<Boolean,A,C> mapr; public MapperPredicate(Mapper<Boolean,A,C> mapr) {this.mapr=mapr;} public Mapper<Boolean,A,C> source() { return mapr; } @Override public boolean invoke(A arg, C ctx) { Boolean v=mapr.invoke(arg, ctx); return v==null ? false : v; } @Override public String toString() { return mapr.toString(); } }