/* # Licensed Materials - Property of IBM # Copyright IBM Corp. 2015 */ package com.ibm.streamsx.topology.internal.logic; import java.util.List; import com.ibm.streamsx.topology.function.BiFunction; public class FirstOfSecondParameterIterator<T, U, R> implements BiFunction<T, List<U>, R>, WrapperFunction { private final BiFunction<T, U, R> logic; private static final long serialVersionUID = 6560697226858925739L; public FirstOfSecondParameterIterator(BiFunction<T, U, R> logic) { this.logic = logic; } @Override public R apply(T t, List<U> us) { if (us.isEmpty()) return logic.apply(t, null); return logic.apply(t, us.get(0)); } @Override public Object getWrappedFunction() { return logic; } }