package net.varkhan.base.functor.reducer;
import net.varkhan.base.functor.Reducer;
/**
* <b></b>.
* <p/>
*
* @author varkhan
* @date 11/24/13
* @time 4:24 PM
*/
public class IdentReducer<A,C> implements Reducer<Iterable<A>,A,C> {
public IdentReducer() { }
public Iterable<A> invoke(Iterable<A> arg, C ctx) { return arg; }
protected static final IdentReducer<Object,Object> ID=new IdentReducer<Object,Object>();
@SuppressWarnings({ "unchecked" })
public static <A,C> Reducer<Iterable<A>,A,C> as() { return (Reducer) ID;}
@Override
public String toString() {
return "$";
}
}