Skip to content

Commit cf243ee

Browse files
Merge pull request ReactiveX#259 from michaeldejong/operation-switch
Added the switch operator to Observable
2 parents d5678e0 + b40feb2 commit cf243ee

File tree

2 files changed

+422
-0
lines changed

2 files changed

+422
-0
lines changed

rxjava-core/src/main/java/rx/Observable.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@
6161
import rx.operators.OperationScan;
6262
import rx.operators.OperationSkip;
6363
import rx.operators.OperationSubscribeOn;
64+
import rx.operators.OperationSwitch;
6465
import rx.operators.OperationSynchronize;
6566
import rx.operators.OperationTake;
6667
import rx.operators.OperationTakeLast;
@@ -1800,6 +1801,19 @@ public static <T> Observable<T> skip(final Observable<T> items, int num) {
18001801
return create(OperationSkip.skip(items, num));
18011802
}
18021803

1804+
/**
1805+
* Accepts an {@link Observable} sequence of {@link Observable} sequences, and transforms it into a single
1806+
* {@link Observable} sequence, which publishes the values of the most recently published {@link Observable} sequence.
1807+
*
1808+
* @param sequenceOfSequences
1809+
* the {@link Observable} sequence of {@link Observable} sequences.
1810+
* @return an {@link Observable} which publishes only the values of the most recently published
1811+
* {@link Observable} sequence.
1812+
*/
1813+
public static <T> Observable<T> switchDo(Observable<Observable<T>> sequenceOfSequences) {
1814+
return create(OperationSwitch.switchDo(sequenceOfSequences));
1815+
}
1816+
18031817
/**
18041818
* Accepts an Observable and wraps it in another Observable that ensures that the resulting
18051819
* Observable is chronologically well-behaved.

0 commit comments

Comments
 (0)