Skip to content

Commit 5ad1c04

Browse files
ZacSweersakarnokd
authored andcommitted
Switch Maybe and Single to use their Transformers in compose() (ReactiveX#4651)
* Switch Maybe and Single to use their Transformers in compose() Resolves ReactiveX#4650 * Update compose() tests
1 parent 9047a3c commit 5ad1c04

File tree

4 files changed

+19
-16
lines changed

4 files changed

+19
-16
lines changed

src/main/java/io/reactivex/Maybe.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1967,13 +1967,12 @@ public final <U> Maybe<U> cast(final Class<? extends U> clazz) {
19671967
* </dl>
19681968
*
19691969
* @param <R> the value type of the Maybe returned by the transformer function
1970-
* @param transformer
1971-
* implements the function that transforms the source Maybe
1970+
* @param transformer the transformer function, not null
19721971
* @return a Maybe, transformed by the transformer function
19731972
* @see <a href="https://github.com/ReactiveX/RxJava/wiki/Implementing-Your-Own-Operators">RxJava wiki: Implementing Your Own Operators</a>
19741973
*/
19751974
@SchedulerSupport(SchedulerSupport.NONE)
1976-
public final <R> Maybe<R> compose(Function<? super Maybe<T>, ? extends MaybeSource<R>> transformer) {
1975+
public final <R> Maybe<R> compose(MaybeTransformer<T, R> transformer) {
19771976
return wrap(to(transformer));
19781977
}
19791978

src/main/java/io/reactivex/Single.java

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1467,13 +1467,12 @@ public final Single<T> hide() {
14671467
* </dl>
14681468
*
14691469
* @param <R> the value type of the single returned by the transformer function
1470-
* @param transformer
1471-
* implements the function that transforms the source Single
1470+
* @param transformer the transformer function, not null
14721471
* @return the source Single, transformed by the transformer function
14731472
* @see <a href="https://github.com/ReactiveX/RxJava/wiki/Implementing-Your-Own-Operators">RxJava wiki: Implementing Your Own Operators</a>
14741473
*/
14751474
@SchedulerSupport(SchedulerSupport.NONE)
1476-
public final <R> Single<R> compose(Function<? super Single<T>, ? extends SingleSource<R>> transformer) {
1475+
public final <R> Single<R> compose(SingleTransformer<T, R> transformer) {
14771476
return wrap(to(transformer));
14781477
}
14791478

src/test/java/io/reactivex/internal/operators/single/SingleMiscTest.java

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -13,18 +13,23 @@
1313

1414
package io.reactivex.internal.operators.single;
1515

16-
import static org.junit.Assert.*;
17-
18-
import java.util.concurrent.*;
19-
import java.util.concurrent.atomic.AtomicBoolean;
20-
21-
import org.junit.Test;
22-
23-
import io.reactivex.*;
16+
import io.reactivex.Single;
17+
import io.reactivex.SingleObserver;
18+
import io.reactivex.SingleSource;
19+
import io.reactivex.SingleTransformer;
2420
import io.reactivex.disposables.Disposables;
2521
import io.reactivex.exceptions.TestException;
2622
import io.reactivex.functions.*;
2723
import io.reactivex.schedulers.Schedulers;
24+
import org.junit.Test;
25+
26+
import java.util.concurrent.Callable;
27+
import java.util.concurrent.TimeUnit;
28+
import java.util.concurrent.TimeoutException;
29+
import java.util.concurrent.atomic.AtomicBoolean;
30+
31+
import static org.junit.Assert.assertNotSame;
32+
import static org.junit.Assert.assertSame;
2833

2934
public class SingleMiscTest {
3035
@Test
@@ -78,7 +83,7 @@ public void contains() {
7883
public void compose() {
7984

8085
Single.just(1)
81-
.compose(new Function<Single<Integer>, SingleSource<Object>>() {
86+
.compose(new SingleTransformer<Integer, Object>() {
8287
@Override
8388
public SingleSource<Object> apply(Single<Integer> f) throws Exception {
8489
return f.map(new Function<Integer, Object>() {

src/test/java/io/reactivex/maybe/MaybeTest.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -388,7 +388,7 @@ public void toNull() {
388388

389389
@Test
390390
public void compose() {
391-
Maybe.just(1).compose(new Function<Maybe<Integer>, MaybeSource<Integer>>() {
391+
Maybe.just(1).compose(new MaybeTransformer<Integer, Integer>() {
392392
@Override
393393
public MaybeSource<Integer> apply(Maybe<Integer> m) throws Exception {
394394
return m.map(new Function<Integer, Integer>() {

0 commit comments

Comments
 (0)