@Override public Tuple3 makeTuple(Object... values) { return Tuple3.of(values[0], values[1], values[2]); } };
public static <A, B, C> Tuple3<A, B, C> of(A a, B b, C c) { return new Tuple3<A, B, C>(a, b, c); }
@Override public Tuple3 makeTuple(Object... values) { return Tuple3.of(values[0], values[1], values[2]); } };
public static <A, B, C> Tuple3<A, B, C> of(A a, B b, C c) { return new Tuple3<A, B, C>(a, b, c); }
@Override public Tuple3 makeTuple(Object... values) { return Tuple3.of(values[0], values[1], values[2]); } };
public static <A, B, C> Tuple3<A, B, C> of(A a, B b, C c) { return new Tuple3<A, B, C>(a, b, c); }
@Override protected Tuple3<A, B, C> doCreate(Object[] values) { return Tuple3.of((A) values[0], (B) values[1], (C) values[2]); }
@Override public Tuple3<A, B, C> next() { return new Tuple3<A, B, C>((A) next(0), (B) next(1), (C) next(2)); } };
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<Tuple3<T, T, T>> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); boolean inFirst = !groups.first().isEmpty(); boolean inSecond = !groups.second().isEmpty(); T t = input.first(); emitter.emit(Tuple3.of(inFirst && !inSecond ? t : null, !inFirst && inSecond ? t : null, inFirst && inSecond ? t : null)); } }, typeFamily.triples(type, type, type));
@Override public Tuple3<A, B, C> next() { return new Tuple3<A, B, C>((A) next(0), (B) next(1), (C) next(2)); } };
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<Tuple3<T, T, T>> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); boolean inFirst = !groups.first().isEmpty(); boolean inSecond = !groups.second().isEmpty(); T t = input.first(); emitter.emit(Tuple3.of(inFirst && !inSecond ? t : null, !inFirst && inSecond ? t : null, inFirst && inSecond ? t : null)); } }, typeFamily.triples(type, type, type));
@Override public Tuple3<A, B, C> next() { return new Tuple3<A, B, C>((A) next(0), (B) next(1), (C) next(2)); } };
@Override public void process(Pair<T, Pair<Collection<Boolean>, Collection<Boolean>>> input, Emitter<Tuple3<T, T, T>> emitter) { Pair<Collection<Boolean>, Collection<Boolean>> groups = input.second(); boolean inFirst = !groups.first().isEmpty(); boolean inSecond = !groups.second().isEmpty(); T t = input.first(); emitter.emit(Tuple3.of( inFirst && !inSecond ? t : null, !inFirst && inSecond ? t : null, inFirst && inSecond ? t : null)); } }, typeFamily.triples(type, type, type));
@Override public Tuple3<A, B, C> map(T input) { return Tuple3.of(aFn.map(input), bFn.map(input), cFn.map(input)); } };
@Override public Tuple3<A, B, C> getDefaultValue() { return Tuple3.of(one.getDefaultValue(), two.getDefaultValue(), three.getDefaultValue()); }