38
38
import rx .util .functions .Func2 ;
39
39
import rx .util .functions .Func3 ;
40
40
import rx .util .functions .Func4 ;
41
+ import rx .util .functions .Func5 ;
42
+ import rx .util .functions .Func6 ;
43
+ import rx .util .functions .Func7 ;
44
+ import rx .util .functions .Func8 ;
45
+ import rx .util .functions .Func9 ;
41
46
import rx .util .functions .FuncN ;
42
47
import rx .util .functions .Functions ;
43
48
@@ -62,7 +67,7 @@ public class OperationCombineLatest {
62
67
* The aggregation function used to combine the source observable values.
63
68
* @return A function from an observer to a subscription. This can be used to create an observable from.
64
69
*/
65
- public static <T0 , T1 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <T0 > w0 , Observable <T1 > w1 , Func2 <? super T0 , ? super T1 , ? extends R > combineLatestFunction ) {
70
+ public static <T0 , T1 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <T1 > w1 , Func2 <? super T0 , ? super T1 , ? extends R > combineLatestFunction ) {
66
71
Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
67
72
a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
68
73
a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
@@ -72,7 +77,8 @@ public static <T0, T1, R> Func1<Observer<? super R>, Subscription> combineLatest
72
77
/**
73
78
* @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
74
79
*/
75
- public static <T0 , T1 , T2 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <T0 > w0 , Observable <T1 > w1 , Observable <T2 > w2 , Func3 <? super T0 , ? super T1 , ? super T2 , ? extends R > combineLatestFunction ) {
80
+ public static <T0 , T1 , T2 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 ,
81
+ Func3 <? super T0 , ? super T1 , ? super T2 , ? extends R > combineLatestFunction ) {
76
82
Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
77
83
a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
78
84
a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
@@ -83,7 +89,8 @@ public static <T0, T1, T2, R> Func1<Observer<? super R>, Subscription> combineLa
83
89
/**
84
90
* @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
85
91
*/
86
- public static <T0 , T1 , T2 , T3 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <T0 > w0 , Observable <T1 > w1 , Observable <T2 > w2 , Observable <T3 > w3 , Func4 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? extends R > combineLatestFunction ) {
92
+ public static <T0 , T1 , T2 , T3 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 ,
93
+ Func4 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? extends R > combineLatestFunction ) {
87
94
Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
88
95
a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
89
96
a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
@@ -92,12 +99,92 @@ public static <T0, T1, T2, T3, R> Func1<Observer<? super R>, Subscription> combi
92
99
return a ;
93
100
}
94
101
102
+ /**
103
+ * @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
104
+ */
105
+ public static <T0 , T1 , T2 , T3 , T4 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 , Observable <? extends T4 > w4 ,
106
+ Func5 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? super T4 , ? extends R > combineLatestFunction ) {
107
+ Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
108
+ a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
109
+ a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
110
+ a .addObserver (new CombineObserver <R , T2 >(a , w2 ));
111
+ a .addObserver (new CombineObserver <R , T3 >(a , w3 ));
112
+ a .addObserver (new CombineObserver <R , T4 >(a , w4 ));
113
+ return a ;
114
+ }
115
+
116
+ /**
117
+ * @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
118
+ */
119
+ public static <T0 , T1 , T2 , T3 , T4 , T5 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 , Observable <? extends T4 > w4 , Observable <? extends T5 > w5 ,
120
+ Func6 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? extends R > combineLatestFunction ) {
121
+ Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
122
+ a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
123
+ a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
124
+ a .addObserver (new CombineObserver <R , T2 >(a , w2 ));
125
+ a .addObserver (new CombineObserver <R , T3 >(a , w3 ));
126
+ a .addObserver (new CombineObserver <R , T4 >(a , w4 ));
127
+ a .addObserver (new CombineObserver <R , T5 >(a , w5 ));
128
+ return a ;
129
+ }
130
+
131
+ /**
132
+ * @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
133
+ */
134
+ public static <T0 , T1 , T2 , T3 , T4 , T5 , T6 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 , Observable <? extends T4 > w4 , Observable <? extends T5 > w5 , Observable <? extends T6 > w6 ,
135
+ Func7 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? extends R > combineLatestFunction ) {
136
+ Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
137
+ a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
138
+ a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
139
+ a .addObserver (new CombineObserver <R , T2 >(a , w2 ));
140
+ a .addObserver (new CombineObserver <R , T3 >(a , w3 ));
141
+ a .addObserver (new CombineObserver <R , T4 >(a , w4 ));
142
+ a .addObserver (new CombineObserver <R , T5 >(a , w5 ));
143
+ a .addObserver (new CombineObserver <R , T6 >(a , w6 ));
144
+ return a ;
145
+ }
146
+
147
+ /**
148
+ * @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
149
+ */
150
+ public static <T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 , Observable <? extends T4 > w4 , Observable <? extends T5 > w5 , Observable <? extends T6 > w6 , Observable <? extends T7 > w7 ,
151
+ Func8 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? extends R > combineLatestFunction ) {
152
+ Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
153
+ a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
154
+ a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
155
+ a .addObserver (new CombineObserver <R , T2 >(a , w2 ));
156
+ a .addObserver (new CombineObserver <R , T3 >(a , w3 ));
157
+ a .addObserver (new CombineObserver <R , T4 >(a , w4 ));
158
+ a .addObserver (new CombineObserver <R , T5 >(a , w5 ));
159
+ a .addObserver (new CombineObserver <R , T6 >(a , w6 ));
160
+ a .addObserver (new CombineObserver <R , T7 >(a , w7 ));
161
+ return a ;
162
+ }
163
+
164
+ /**
165
+ * @see #combineLatest(Observable w0, Observable w1, Func2 combineLatestFunction)
166
+ */
167
+ public static <T0 , T1 , T2 , T3 , T4 , T5 , T6 , T7 , T8 , R > Func1 <Observer <? super R >, Subscription > combineLatest (Observable <? extends T0 > w0 , Observable <? extends T1 > w1 , Observable <? extends T2 > w2 , Observable <? extends T3 > w3 , Observable <? extends T4 > w4 , Observable <? extends T5 > w5 , Observable <? extends T6 > w6 , Observable <? extends T7 > w7 , Observable <? extends T8 > w8 ,
168
+ Func9 <? super T0 , ? super T1 , ? super T2 , ? super T3 , ? super T4 , ? super T5 , ? super T6 , ? super T7 , ? super T8 , ? extends R > combineLatestFunction ) {
169
+ Aggregator <R > a = new Aggregator <R >(Functions .fromFunc (combineLatestFunction ));
170
+ a .addObserver (new CombineObserver <R , T0 >(a , w0 ));
171
+ a .addObserver (new CombineObserver <R , T1 >(a , w1 ));
172
+ a .addObserver (new CombineObserver <R , T2 >(a , w2 ));
173
+ a .addObserver (new CombineObserver <R , T3 >(a , w3 ));
174
+ a .addObserver (new CombineObserver <R , T4 >(a , w4 ));
175
+ a .addObserver (new CombineObserver <R , T5 >(a , w5 ));
176
+ a .addObserver (new CombineObserver <R , T6 >(a , w6 ));
177
+ a .addObserver (new CombineObserver <R , T7 >(a , w7 ));
178
+ a .addObserver (new CombineObserver <R , T8 >(a , w8 ));
179
+ return a ;
180
+ }
181
+
95
182
private static class CombineObserver <R , T > implements Observer <T > {
96
- final Observable <T > w ;
183
+ final Observable <? extends T > w ;
97
184
final Aggregator <R > a ;
98
185
private Subscription subscription ;
99
186
100
- public CombineObserver (Aggregator <R > a , Observable <T > w ) {
187
+ public CombineObserver (Aggregator <R > a , Observable <? extends T > w ) {
101
188
this .a = a ;
102
189
this .w = w ;
103
190
}
0 commit comments