@@ -1294,6 +1294,28 @@ public static <K, T, R> Observable<GroupedObservable<K, R>> groupBy(Observable<T
1294
1294
return create (OperationGroupBy .groupBy (source , keySelector , elementSelector ));
1295
1295
}
1296
1296
1297
+ @ SuppressWarnings ("rawtypes" )
1298
+ public static <K , T , R > Observable <GroupedObservable <K , R >> groupBy (Observable <T > source , final Object keySelector , final Object elementSelector ) {
1299
+ final FuncN _k = Functions .from (keySelector );
1300
+ final FuncN _e = Functions .from (elementSelector );
1301
+
1302
+ return groupBy (source , new Func1 <T , K >() {
1303
+
1304
+ @ SuppressWarnings ("unchecked" )
1305
+ @ Override
1306
+ public K call (T t1 ) {
1307
+ return (K ) _k .call (t1 );
1308
+ }
1309
+ }, new Func1 <T , R >() {
1310
+
1311
+ @ SuppressWarnings ("unchecked" )
1312
+ @ Override
1313
+ public R call (T t1 ) {
1314
+ return (R ) _e .call (t1 );
1315
+ }
1316
+ });
1317
+ }
1318
+
1297
1319
/**
1298
1320
* Groups the items emitted by an Observable according to a specified criteria, and emits these
1299
1321
* grouped items as Observables, one Observable per group.
@@ -1314,6 +1336,20 @@ public static <K, T, R> Observable<GroupedObservable<K, R>> groupBy(Observable<T
1314
1336
public static <K , T > Observable <GroupedObservable <K , T >> groupBy (Observable <T > source , final Func1 <T , K > keySelector ) {
1315
1337
return create (OperationGroupBy .groupBy (source , keySelector ));
1316
1338
}
1339
+
1340
+ @ SuppressWarnings ("rawtypes" )
1341
+ public static <K , T > Observable <GroupedObservable <K , T >> groupBy (Observable <T > source , final Object keySelector ) {
1342
+ final FuncN _k = Functions .from (keySelector );
1343
+
1344
+ return groupBy (source , new Func1 <T , K >() {
1345
+
1346
+ @ SuppressWarnings ("unchecked" )
1347
+ @ Override
1348
+ public K call (T t1 ) {
1349
+ return (K ) _k .call (t1 );
1350
+ }
1351
+ });
1352
+ }
1317
1353
1318
1354
/**
1319
1355
* This behaves like <code>merge</code> except that if any of the merged Observables notify
@@ -3560,6 +3596,10 @@ public Observable<T> startWith(T... values) {
3560
3596
public <K , R > Observable <GroupedObservable <K , R >> groupBy (final Func1 <T , K > keySelector , final Func1 <T , R > elementSelector ) {
3561
3597
return groupBy (this , keySelector , elementSelector );
3562
3598
}
3599
+
3600
+ public <K , R > Observable <GroupedObservable <K , R >> groupBy (final Object keySelector , final Object elementSelector ) {
3601
+ return groupBy (this , keySelector , elementSelector );
3602
+ }
3563
3603
3564
3604
/**
3565
3605
* Groups the items emitted by an Observable according to a specified criteria, and emits these
@@ -3578,6 +3618,10 @@ public <K, R> Observable<GroupedObservable<K, R>> groupBy(final Func1<T, K> keyS
3578
3618
public <K > Observable <GroupedObservable <K , T >> groupBy (final Func1 <T , K > keySelector ) {
3579
3619
return groupBy (this , keySelector );
3580
3620
}
3621
+
3622
+ public <K > Observable <GroupedObservable <K , T >> groupBy (final Object keySelector ) {
3623
+ return groupBy (this , keySelector );
3624
+ }
3581
3625
3582
3626
/**
3583
3627
* Converts an Observable into a BlockingObservable (an Observable with blocking operators).
0 commit comments