Skip to content

Commit 2dea751

Browse files
committed
feat: Join支持至Tuple9,调整JoinOn的位置
1 parent ea1272a commit 2dea751

13 files changed

Lines changed: 341 additions & 51 deletions

File tree

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
package com.github.lokic.javaplus.functional.function;
2+
3+
import java.util.function.Function;
4+
5+
@FunctionalInterface
6+
public interface Function7<T1, T2, T3, T4, T5, T6, T7, R> {
7+
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7);
8+
9+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $1(Function<T1, R> function) {
10+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t1);
11+
}
12+
13+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $2(Function<T2, R> function) {
14+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t2);
15+
}
16+
17+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $3(Function<T3, R> function) {
18+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t3);
19+
}
20+
21+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $4(Function<T4, R> function) {
22+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t4);
23+
}
24+
25+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $5(Function<T5, R> function) {
26+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t5);
27+
}
28+
29+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $6(Function<T6, R> function) {
30+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t6);
31+
}
32+
33+
static <T1, T2, T3, T4, T5, T6, T7, R> Function7<T1, T2, T3, T4, T5, T6, T7, R> $7(Function<T7, R> function) {
34+
return (t1, t2, t3, t4, t5, t6, t7) -> function.apply(t7);
35+
}
36+
37+
}
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.github.lokic.javaplus.functional.function;
2+
3+
import java.util.function.Function;
4+
5+
@FunctionalInterface
6+
public interface Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> {
7+
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8);
8+
9+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $1(Function<T1, R> function) {
10+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t1);
11+
}
12+
13+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $2(Function<T2, R> function) {
14+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t2);
15+
}
16+
17+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $3(Function<T3, R> function) {
18+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t3);
19+
}
20+
21+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $4(Function<T4, R> function) {
22+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t4);
23+
}
24+
25+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $5(Function<T5, R> function) {
26+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t5);
27+
}
28+
29+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $6(Function<T6, R> function) {
30+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t6);
31+
}
32+
33+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $7(Function<T7, R> function) {
34+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t7);
35+
}
36+
37+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> $8(Function<T8, R> function) {
38+
return (t1, t2, t3, t4, t5, t6, t7, t8) -> function.apply(t8);
39+
}
40+
41+
42+
}
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
package com.github.lokic.javaplus.functional.function;
2+
3+
import java.util.function.Function;
4+
5+
@FunctionalInterface
6+
public interface Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> {
7+
R apply(T1 t1, T2 t2, T3 t3, T4 t4, T5 t5, T6 t6, T7 t7, T8 t8, T9 t9);
8+
9+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $1(Function<T1, R> function) {
10+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t1);
11+
}
12+
13+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $2(Function<T2, R> function) {
14+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t2);
15+
}
16+
17+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $3(Function<T3, R> function) {
18+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t3);
19+
}
20+
21+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $4(Function<T4, R> function) {
22+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t4);
23+
}
24+
25+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $5(Function<T5, R> function) {
26+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t5);
27+
}
28+
29+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $6(Function<T6, R> function) {
30+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t6);
31+
}
32+
33+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $7(Function<T7, R> function) {
34+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t7);
35+
}
36+
37+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $8(Function<T8, R> function) {
38+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t8);
39+
}
40+
41+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> $9(Function<T9, R> function) {
42+
return (t1, t2, t3, t4, t5, t6, t7, t8, t9) -> function.apply(t9);
43+
}
44+
45+
}

src/main/java/com/github/lokic/javaplus/functional/tuple/Tuple2Flattened.java

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,5 +30,22 @@ static <T1, T2, T3, T4, T5, T6> Tuple6<T1, T2, T3, T4, T5, T6> flatten6(
3030
t.getT1().getT1(), t.getT1().getT2(), t.getT1().getT3(), t.getT1().getT4(), t.getT1().getT5(), t.getT2());
3131
}
3232

33+
static <T1, T2, T3, T4, T5, T6, T7> Tuple7<T1, T2, T3, T4, T5, T6, T7> flatten7(
34+
Tuple2<Tuple6<T1, T2, T3, T4, T5, T6>, T7> t) {
35+
return Tuple.of(
36+
t.getT1().getT1(), t.getT1().getT2(), t.getT1().getT3(), t.getT1().getT4(), t.getT1().getT5(), t.getT1().getT6(), t.getT2());
37+
}
38+
39+
static <T1, T2, T3, T4, T5, T6, T7, T8> Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> flatten8(
40+
Tuple2<Tuple7<T1, T2, T3, T4, T5, T6, T7>, T8> t) {
41+
return Tuple.of(
42+
t.getT1().getT1(), t.getT1().getT2(), t.getT1().getT3(), t.getT1().getT4(), t.getT1().getT5(), t.getT1().getT6(), t.getT1().getT7(), t.getT2());
43+
}
44+
45+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> flatten9(
46+
Tuple2<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, T9> t) {
47+
return Tuple.of(
48+
t.getT1().getT1(), t.getT1().getT2(), t.getT1().getT3(), t.getT1().getT4(), t.getT1().getT5(), t.getT1().getT6(), t.getT1().getT7(), t.getT1().getT8(), t.getT2());
49+
}
3350

3451
}

src/main/java/com/github/lokic/javaplus/functional/tuple/TupleFlattened.java

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,45 @@ static <T1, T2, T3, T4, T5, T6> Tuple6<T1, T2, T3, T4, T5, T6> flatten6(
3838
t.getT2());
3939
}
4040

41+
static <T1, T2, T3, T4, T5, T6, T7> Tuple7<T1, T2, T3, T4, T5, T6, T7> flatten7(
42+
Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7> t) {
43+
return Tuple.of(
44+
t.getT1().getT1().getT1().getT1().getT1().getT1(),
45+
t.getT1().getT1().getT1().getT1().getT1().getT2(),
46+
t.getT1().getT1().getT1().getT1().getT2(),
47+
t.getT1().getT1().getT1().getT2(),
48+
t.getT1().getT1().getT2(),
49+
t.getT1().getT2(),
50+
t.getT2());
51+
}
52+
53+
static <T1, T2, T3, T4, T5, T6, T7, T8> Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> flatten8(
54+
Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8> t) {
55+
return Tuple.of(
56+
t.getT1().getT1().getT1().getT1().getT1().getT1().getT1(),
57+
t.getT1().getT1().getT1().getT1().getT1().getT1().getT2(),
58+
t.getT1().getT1().getT1().getT1().getT1().getT2(),
59+
t.getT1().getT1().getT1().getT1().getT2(),
60+
t.getT1().getT1().getT1().getT2(),
61+
t.getT1().getT1().getT2(),
62+
t.getT1().getT2(),
63+
t.getT2());
64+
}
65+
66+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9> Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> flatten9(
67+
Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9> t) {
68+
return Tuple.of(
69+
t.getT1().getT1().getT1().getT1().getT1().getT1().getT1().getT1(),
70+
t.getT1().getT1().getT1().getT1().getT1().getT1().getT1().getT2(),
71+
t.getT1().getT1().getT1().getT1().getT1().getT1().getT2(),
72+
t.getT1().getT1().getT1().getT1().getT1().getT2(),
73+
t.getT1().getT1().getT1().getT1().getT2(),
74+
t.getT1().getT1().getT1().getT2(),
75+
t.getT1().getT1().getT2(),
76+
t.getT1().getT2(),
77+
t.getT2());
78+
}
79+
4180
static <T1, T2, R> Function<Tuple2<T1, T2>, R> flatten(Function2<T1, T2, R> function) {
4281
return t -> function.apply(t.getT1(), t.getT2());
4382
}
@@ -75,4 +114,31 @@ Function<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, R> flat
75114
return function.apply(t6.getT1(), t6.getT2(), t6.getT3(), t6.getT4(), t6.getT5(), t6.getT6());
76115
};
77116
}
117+
118+
static <T1, T2, T3, T4, T5, T6, T7, R>
119+
Function<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7>, R> flatten(
120+
Function7<T1, T2, T3, T4, T5, T6, T7, R> function) {
121+
return t -> {
122+
Tuple7<T1, T2, T3, T4, T5, T6, T7> t7 = flatten7(t);
123+
return function.apply(t7.getT1(), t7.getT2(), t7.getT3(), t7.getT4(), t7.getT5(), t7.getT6(), t7.getT7());
124+
};
125+
}
126+
127+
static <T1, T2, T3, T4, T5, T6, T7, T8, R>
128+
Function<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>, R> flatten(
129+
Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> function) {
130+
return t -> {
131+
Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> t8 = flatten8(t);
132+
return function.apply(t8.getT1(), t8.getT2(), t8.getT3(), t8.getT4(), t8.getT5(), t8.getT6(), t8.getT7(), t8.getT8());
133+
};
134+
}
135+
136+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R>
137+
Function<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<Tuple2<T1, T2>, T3>, T4>, T5>, T6>, T7>, T8>, T9>, R> flatten(
138+
Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> function) {
139+
return t -> {
140+
Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> t9 = flatten9(t);
141+
return function.apply(t9.getT1(), t9.getT2(), t9.getT3(), t9.getT4(), t9.getT5(), t9.getT6(), t9.getT7(), t9.getT8(), t9.getT9());
142+
};
143+
}
78144
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.github.lokic.javaplus.functional.tuple;
2+
3+
import com.github.lokic.javaplus.functional.function.Function7;
4+
import com.github.lokic.javaplus.tuple.Tuple7;
5+
6+
import java.util.function.Function;
7+
8+
@FunctionalInterface
9+
public interface TupleFunction7<T1, T2, T3, T4, T5, T6, T7, R> extends Function<Tuple7<T1, T2, T3, T4, T5, T6, T7>, R>, Function7<T1, T2, T3, T4, T5, T6, T7, R> {
10+
11+
@Override
12+
default R apply(Tuple7<T1, T2, T3, T4, T5, T6, T7> t) {
13+
return apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6(), t.getT7());
14+
}
15+
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.github.lokic.javaplus.functional.tuple;
2+
3+
import com.github.lokic.javaplus.functional.function.Function8;
4+
import com.github.lokic.javaplus.tuple.Tuple8;
5+
6+
import java.util.function.Function;
7+
8+
@FunctionalInterface
9+
public interface TupleFunction8<T1, T2, T3, T4, T5, T6, T7, T8, R> extends Function<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, R>, Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> {
10+
11+
@Override
12+
default R apply(Tuple8<T1, T2, T3, T4, T5, T6, T7, T8> t) {
13+
return apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6(), t.getT7(), t.getT8());
14+
}
15+
16+
}
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
package com.github.lokic.javaplus.functional.tuple;
2+
3+
import com.github.lokic.javaplus.functional.function.Function9;
4+
import com.github.lokic.javaplus.tuple.Tuple9;
5+
6+
import java.util.function.Function;
7+
8+
@FunctionalInterface
9+
public interface TupleFunction9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> extends Function<Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9>, R>, Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> {
10+
11+
@Override
12+
default R apply(Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, T9> t) {
13+
return apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6(), t.getT7(), t.getT8(), t.getT9());
14+
}
15+
16+
}

src/main/java/com/github/lokic/javaplus/functional/tuple/TupleFunctional.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,4 +43,18 @@ static <T1, T2, T3, T4, T5, R> TupleFunction5<T1, T2, T3, T4, T5, R> function(Fu
4343
static <T1, T2, T3, T4, T5, T6, R> TupleFunction6<T1, T2, T3, T4, T5, T6, R> function(Function6<T1, T2, T3, T4, T5, T6, R> function6) {
4444
return function6::apply;
4545
}
46+
47+
static <T1, T2, T3, T4, T5, T6, T7, R> TupleFunction7<T1, T2, T3, T4, T5, T6, T7, R> function(Function7<T1, T2, T3, T4, T5, T6, T7, R> function7) {
48+
return function7::apply;
49+
}
50+
51+
static <T1, T2, T3, T4, T5, T6, T7, T8, R> TupleFunction8<T1, T2, T3, T4, T5, T6, T7, T8, R> function(Function8<T1, T2, T3, T4, T5, T6, T7, T8, R> function8) {
52+
return function8::apply;
53+
}
54+
55+
static <T1, T2, T3, T4, T5, T6, T7, T8, T9, R> TupleFunction9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> function(Function9<T1, T2, T3, T4, T5, T6, T7, T8, T9, R> function9) {
56+
return function9::apply;
57+
}
58+
59+
4660
}

src/main/java/com/github/lokic/javaplus/join/Join.java

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package com.github.lokic.javaplus.join;
22

3+
import com.github.lokic.javaplus.functional.function.*;
4+
import com.github.lokic.javaplus.functional.tuple.Tuple2Flattened;
5+
import com.github.lokic.javaplus.tuple.*;
6+
7+
import java.util.function.Function;
38
import java.util.stream.Stream;
49

510
public class Join {
@@ -8,4 +13,36 @@ public static <T> JoinStream<T> stream(Stream<T> stream) {
813
return new JoinStream<>(stream);
914
}
1015

16+
public static <T1, TT, KK> JoinOn<T1, TT, KK, Tuple2<T1, TT>> on(Function<T1, KK> f1, Function<TT, KK> f2) {
17+
return new JoinOn<>(f1, f2, Tuple2Flattened::flatten2);
18+
}
19+
20+
public static <T1, T2, TT, KK> JoinOn<Tuple2<T1, T2>, TT, KK, Tuple3<T1, T2, TT>> on(Function2<T1, T2, KK> f1, Function<TT, KK> f2) {
21+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2()), f2, Tuple2Flattened::flatten3);
22+
}
23+
24+
public static <T1, T2, T3, TT, KK> JoinOn<Tuple3<T1, T2, T3>, TT, KK, Tuple4<T1, T2, T3, TT>> on(Function3<T1, T2, T3, KK> f1, Function<TT, KK> f2) {
25+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3()), f2, Tuple2Flattened::flatten4);
26+
}
27+
28+
public static <T1, T2, T3, T4, TT, KK> JoinOn<Tuple4<T1, T2, T3, T4>, TT, KK, Tuple5<T1, T2, T3, T4, TT>> on(Function4<T1, T2, T3, T4, KK> f1, Function<TT, KK> f2) {
29+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3(), t.getT4()), f2, Tuple2Flattened::flatten5);
30+
}
31+
32+
public static <T1, T2, T3, T4, T5, TT, KK> JoinOn<Tuple5<T1, T2, T3, T4, T5>, TT, KK, Tuple6<T1, T2, T3, T4, T5, TT>> on(Function5<T1, T2, T3, T4, T5, KK> f1, Function<TT, KK> f2) {
33+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5()), f2, Tuple2Flattened::flatten6);
34+
}
35+
36+
public static <T1, T2, T3, T4, T5, T6, TT, KK> JoinOn<Tuple6<T1, T2, T3, T4, T5, T6>, TT, KK, Tuple7<T1, T2, T3, T4, T5, T6, TT>> on(Function6<T1, T2, T3, T4, T5, T6, KK> f1, Function<TT, KK> f2) {
37+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6()), f2, Tuple2Flattened::flatten7);
38+
}
39+
40+
public static <T1, T2, T3, T4, T5, T6, T7, TT, KK> JoinOn<Tuple7<T1, T2, T3, T4, T5, T6, T7>, TT, KK, Tuple8<T1, T2, T3, T4, T5, T6, T7, TT>> on(Function7<T1, T2, T3, T4, T5, T6, T7, KK> f1, Function<TT, KK> f2) {
41+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6(), t.getT7()), f2, Tuple2Flattened::flatten8);
42+
}
43+
44+
public static <T1, T2, T3, T4, T5, T6, T7, T8, TT, KK> JoinOn<Tuple8<T1, T2, T3, T4, T5, T6, T7, T8>, TT, KK, Tuple9<T1, T2, T3, T4, T5, T6, T7, T8, TT>> on(Function8<T1, T2, T3, T4, T5, T6, T7, T8, KK> f1, Function<TT, KK> f2) {
45+
return new JoinOn<>(t -> f1.apply(t.getT1(), t.getT2(), t.getT3(), t.getT4(), t.getT5(), t.getT6(), t.getT7(), t.getT8()), f2, Tuple2Flattened::flatten9);
46+
}
47+
1148
}

0 commit comments

Comments
 (0)