@@ -919,23 +919,6 @@ public static <T> Observable<T> just(T value) {
919
919
return from (list );
920
920
}
921
921
922
- /**
923
- * Flattens a list of Observables into one Observable, without any transformation.
924
- * <p>
925
- * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/merge.png">
926
- * <p>
927
- * You can combine the items emitted by multiple Observables so that they act like a single
928
- * Observable, by using the <code>merge</code> method.
929
- *
930
- * @param source
931
- * an Iterable of Observables
932
- * @return an Observable that emits items that are the result of flattening the {@code source} list of Observables
933
- * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge</a>
934
- */
935
- public static <T > Observable <T > merge (Iterable <? extends Observable <? extends T >> source ) {
936
- return create (OperationMerge .merge (source ));
937
- }
938
-
939
922
/**
940
923
* Flattens a sequence of Observables emitted by an Observable into one Observable, without any
941
924
* transformation.
@@ -1422,7 +1405,7 @@ public static <T> Observable<T> concat(Observable<? extends T> t1, Observable<?
1422
1405
}
1423
1406
1424
1407
/**
1425
- * This behaves like {@link #merge(java.util.List )} except that if any of the merged Observables
1408
+ * This behaves like {@link #merge(Observable )} except that if any of the merged Observables
1426
1409
* notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1427
1410
* refrain from propagating that error notification until all of the merged Observables have
1428
1411
* finished emitting items.
@@ -1436,17 +1419,17 @@ public static <T> Observable<T> concat(Observable<? extends T> t1, Observable<?
1436
1419
* source Observables without being interrupted by an error notification from one of them.
1437
1420
*
1438
1421
* @param source
1439
- * a list of Observables
1422
+ * an Observable that emits Observables
1440
1423
* @return an Observable that emits items that are the result of flattening the items emitted by
1441
- * the {@code source} list of Observables
1424
+ * the Observables emitted by the {@code source} Observable
1442
1425
* @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1443
1426
*/
1444
- public static <T > Observable <T > mergeDelayError (List <? extends Observable <? extends T >> source ) {
1427
+ public static <T > Observable <T > mergeDelayError (Observable <? extends Observable <? extends T >> source ) {
1445
1428
return create (OperationMergeDelayError .mergeDelayError (source ));
1446
1429
}
1447
1430
1448
1431
/**
1449
- * This behaves like {@link #merge(Observable)} except that if any of the merged Observables
1432
+ * This behaves like {@link #merge(Observable... )} except that if any of the merged Observables
1450
1433
* notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1451
1434
* refrain from propagating that error notification until all of the merged Observables have
1452
1435
* finished emitting items.
@@ -1459,16 +1442,20 @@ public static <T> Observable<T> mergeDelayError(List<? extends Observable<? exte
1459
1442
* This method allows an Observer to receive all successfully emitted items from all of the
1460
1443
* source Observables without being interrupted by an error notification from one of them.
1461
1444
*
1462
- * @param source
1463
- * an Observable that emits Observables
1445
+ * @param t1
1446
+ * an Observable to be merged
1447
+ * @param t2
1448
+ * an Observable to be merged
1464
1449
* @return an Observable that emits items that are the result of flattening the items emitted by
1465
- * the Observables emitted by the {@code source} Observable
1450
+ * the {@code source} Observables
1466
1451
* @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1467
1452
*/
1468
- public static <T > Observable <T > mergeDelayError (Observable <? extends Observable <? extends T >> source ) {
1469
- return create (OperationMergeDelayError .mergeDelayError (source ));
1453
+ @ SuppressWarnings ("unchecked" )
1454
+ // suppress because the types are checked by the method signature before using a vararg
1455
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 ) {
1456
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 ));
1470
1457
}
1471
-
1458
+
1472
1459
/**
1473
1460
* This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1474
1461
* notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
@@ -1483,14 +1470,242 @@ public static <T> Observable<T> mergeDelayError(Observable<? extends Observable<
1483
1470
* This method allows an Observer to receive all successfully emitted items from all of the
1484
1471
* source Observables without being interrupted by an error notification from one of them.
1485
1472
*
1486
- * @param source
1487
- * a series of Observables
1473
+ * @param t1
1474
+ * an Observable to be merged
1475
+ * @param t2
1476
+ * an Observable to be merged
1477
+ * @param t3
1478
+ * an Observable to be merged
1488
1479
* @return an Observable that emits items that are the result of flattening the items emitted by
1489
1480
* the {@code source} Observables
1490
1481
* @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1491
1482
*/
1492
- public static <T > Observable <T > mergeDelayError (Observable <? extends T >... source ) {
1493
- return create (OperationMergeDelayError .mergeDelayError (source ));
1483
+ @ SuppressWarnings ("unchecked" )
1484
+ // suppress because the types are checked by the method signature before using a vararg
1485
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 ) {
1486
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 ));
1487
+ }
1488
+
1489
+ /**
1490
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1491
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1492
+ * refrain from propagating that error notification until all of the merged Observables have
1493
+ * finished emitting items.
1494
+ * <p>
1495
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1496
+ * <p>
1497
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1498
+ * Observers once.
1499
+ * <p>
1500
+ * This method allows an Observer to receive all successfully emitted items from all of the
1501
+ * source Observables without being interrupted by an error notification from one of them.
1502
+ *
1503
+ * @param t1
1504
+ * an Observable to be merged
1505
+ * @param t2
1506
+ * an Observable to be merged
1507
+ * @param t3
1508
+ * an Observable to be merged
1509
+ * @param t4
1510
+ * an Observable to be merged
1511
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1512
+ * the {@code source} Observables
1513
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1514
+ */
1515
+ @ SuppressWarnings ("unchecked" )
1516
+ // suppress because the types are checked by the method signature before using a vararg
1517
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 ) {
1518
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 ));
1519
+ }
1520
+
1521
+ /**
1522
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1523
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1524
+ * refrain from propagating that error notification until all of the merged Observables have
1525
+ * finished emitting items.
1526
+ * <p>
1527
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1528
+ * <p>
1529
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1530
+ * Observers once.
1531
+ * <p>
1532
+ * This method allows an Observer to receive all successfully emitted items from all of the
1533
+ * source Observables without being interrupted by an error notification from one of them.
1534
+ *
1535
+ * @param t1
1536
+ * an Observable to be merged
1537
+ * @param t2
1538
+ * an Observable to be merged
1539
+ * @param t3
1540
+ * an Observable to be merged
1541
+ * @param t4
1542
+ * an Observable to be merged
1543
+ * @param t5
1544
+ * an Observable to be merged
1545
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1546
+ * the {@code source} Observables
1547
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1548
+ */
1549
+ @ SuppressWarnings ("unchecked" )
1550
+ // suppress because the types are checked by the method signature before using a vararg
1551
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 , Observable <? extends T > t5 ) {
1552
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 , t5 ));
1553
+ }
1554
+
1555
+ /**
1556
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1557
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1558
+ * refrain from propagating that error notification until all of the merged Observables have
1559
+ * finished emitting items.
1560
+ * <p>
1561
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1562
+ * <p>
1563
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1564
+ * Observers once.
1565
+ * <p>
1566
+ * This method allows an Observer to receive all successfully emitted items from all of the
1567
+ * source Observables without being interrupted by an error notification from one of them.
1568
+ *
1569
+ * @param t1
1570
+ * an Observable to be merged
1571
+ * @param t2
1572
+ * an Observable to be merged
1573
+ * @param t3
1574
+ * an Observable to be merged
1575
+ * @param t4
1576
+ * an Observable to be merged
1577
+ * @param t5
1578
+ * an Observable to be merged
1579
+ * @param t6
1580
+ * an Observable to be merged
1581
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1582
+ * the {@code source} Observables
1583
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1584
+ */
1585
+ @ SuppressWarnings ("unchecked" )
1586
+ // suppress because the types are checked by the method signature before using a vararg
1587
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 , Observable <? extends T > t5 , Observable <? extends T > t6 ) {
1588
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 , t5 , t6 ));
1589
+ }
1590
+
1591
+ /**
1592
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1593
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1594
+ * refrain from propagating that error notification until all of the merged Observables have
1595
+ * finished emitting items.
1596
+ * <p>
1597
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1598
+ * <p>
1599
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1600
+ * Observers once.
1601
+ * <p>
1602
+ * This method allows an Observer to receive all successfully emitted items from all of the
1603
+ * source Observables without being interrupted by an error notification from one of them.
1604
+ *
1605
+ * @param t1
1606
+ * an Observable to be merged
1607
+ * @param t2
1608
+ * an Observable to be merged
1609
+ * @param t3
1610
+ * an Observable to be merged
1611
+ * @param t4
1612
+ * an Observable to be merged
1613
+ * @param t5
1614
+ * an Observable to be merged
1615
+ * @param t6
1616
+ * an Observable to be merged
1617
+ * @param t7
1618
+ * an Observable to be merged
1619
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1620
+ * the {@code source} Observables
1621
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1622
+ */
1623
+ @ SuppressWarnings ("unchecked" )
1624
+ // suppress because the types are checked by the method signature before using a vararg
1625
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 , Observable <? extends T > t5 , Observable <? extends T > t6 , Observable <? extends T > t7 ) {
1626
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 , t5 , t6 , t7 ));
1627
+ }
1628
+
1629
+ /**
1630
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1631
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1632
+ * refrain from propagating that error notification until all of the merged Observables have
1633
+ * finished emitting items.
1634
+ * <p>
1635
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1636
+ * <p>
1637
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1638
+ * Observers once.
1639
+ * <p>
1640
+ * This method allows an Observer to receive all successfully emitted items from all of the
1641
+ * source Observables without being interrupted by an error notification from one of them.
1642
+ *
1643
+ * @param t1
1644
+ * an Observable to be merged
1645
+ * @param t2
1646
+ * an Observable to be merged
1647
+ * @param t3
1648
+ * an Observable to be merged
1649
+ * @param t4
1650
+ * an Observable to be merged
1651
+ * @param t5
1652
+ * an Observable to be merged
1653
+ * @param t6
1654
+ * an Observable to be merged
1655
+ * @param t7
1656
+ * an Observable to be merged
1657
+ * @param t8
1658
+ * an Observable to be merged
1659
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1660
+ * the {@code source} Observables
1661
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1662
+ */
1663
+ @ SuppressWarnings ("unchecked" )
1664
+ // suppress because the types are checked by the method signature before using a vararg
1665
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 , Observable <? extends T > t5 , Observable <? extends T > t6 , Observable <? extends T > t7 , Observable <? extends T > t8 ) {
1666
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 ));
1667
+ }
1668
+
1669
+ /**
1670
+ * This behaves like {@link #merge(Observable...)} except that if any of the merged Observables
1671
+ * notify of an error via {@link Observer#onError onError}, {@code mergeDelayError} will
1672
+ * refrain from propagating that error notification until all of the merged Observables have
1673
+ * finished emitting items.
1674
+ * <p>
1675
+ * <img width="640" src="https://raw.github.com/wiki/Netflix/RxJava/images/rx-operators/mergeDelayError.png">
1676
+ * <p>
1677
+ * Even if multiple merged Observables send {@code onError} notifications, {@code mergeDelayError} will only invoke the {@code onError} method of its
1678
+ * Observers once.
1679
+ * <p>
1680
+ * This method allows an Observer to receive all successfully emitted items from all of the
1681
+ * source Observables without being interrupted by an error notification from one of them.
1682
+ *
1683
+ * @param t1
1684
+ * an Observable to be merged
1685
+ * @param t2
1686
+ * an Observable to be merged
1687
+ * @param t3
1688
+ * an Observable to be merged
1689
+ * @param t4
1690
+ * an Observable to be merged
1691
+ * @param t5
1692
+ * an Observable to be merged
1693
+ * @param t6
1694
+ * an Observable to be merged
1695
+ * @param t7
1696
+ * an Observable to be merged
1697
+ * @param t8
1698
+ * an Observable to be merged
1699
+ * @param t9
1700
+ * an Observable to be merged
1701
+ * @return an Observable that emits items that are the result of flattening the items emitted by
1702
+ * the {@code source} Observables
1703
+ * @see <a href="http://msdn.microsoft.com/en-us/library/hh229099(v=vs.103).aspx">MSDN: Observable.Merge Method</a>
1704
+ */
1705
+ @ SuppressWarnings ("unchecked" )
1706
+ // suppress because the types are checked by the method signature before using a vararg
1707
+ public static <T > Observable <T > mergeDelayError (Observable <? extends T > t1 , Observable <? extends T > t2 , Observable <? extends T > t3 , Observable <? extends T > t4 , Observable <? extends T > t5 , Observable <? extends T > t6 , Observable <? extends T > t7 , Observable <? extends T > t8 , Observable <? extends T > t9 ) {
1708
+ return create (OperationMergeDelayError .mergeDelayError (t1 , t2 , t3 , t4 , t5 , t6 , t7 , t8 , t9 ));
1494
1709
}
1495
1710
1496
1711
/**
0 commit comments