19
19
20
20
import org .reactivestreams .*;
21
21
22
- import io .reactivex .Single .*;
23
22
import io .reactivex .annotations .*;
24
23
import io .reactivex .disposables .*;
25
24
import io .reactivex .functions .*;
38
37
* Observable for delivering a sequence of values without backpressure.
39
38
* @param <T>
40
39
*/
41
- public abstract class Observable <T > {
40
+ public abstract class Observable <T > implements ObservableConsumable < T > {
42
41
43
- public interface NbpOnSubscribe <T > extends Consumer <Observer <? super T >> {
44
-
45
- }
46
-
47
42
public interface NbpOperator <Downstream , Upstream > extends Function <Observer <? super Downstream >, Observer <? super Upstream >> {
48
43
49
44
}
@@ -53,18 +48,18 @@ public interface NbpTransformer<Upstream, Downstream> extends Function<Observabl
53
48
}
54
49
55
50
/** An empty observable instance as there is no need to instantiate this more than once. */
56
- static final Observable <Object > EMPTY = create (new NbpOnSubscribe <Object >() {
51
+ static final Observable <Object > EMPTY = create (new ObservableConsumable <Object >() {
57
52
@ Override
58
- public void accept (Observer <? super Object > s ) {
53
+ public void subscribe (Observer <? super Object > s ) {
59
54
s .onSubscribe (EmptyDisposable .INSTANCE );
60
55
s .onComplete ();
61
56
}
62
57
});
63
58
64
59
/** A never NbpObservable instance as there is no need to instantiate this more than once. */
65
- static final Observable <Object > NEVER = create (new NbpOnSubscribe <Object >() {
60
+ static final Observable <Object > NEVER = create (new ObservableConsumable <Object >() {
66
61
@ Override
67
- public void accept (Observer <? super Object > s ) {
62
+ public void subscribe (Observer <? super Object > s ) {
68
63
s .onSubscribe (EmptyDisposable .INSTANCE );
69
64
}
70
65
});
@@ -355,7 +350,7 @@ public static <T> Observable<T> concatArray(Observable<? extends T>... sources)
355
350
return fromArray (sources ).concatMap ((Function )Functions .identity ());
356
351
}
357
352
358
- public static <T > Observable <T > create (NbpOnSubscribe <T > onSubscribe ) {
353
+ public static <T > Observable <T > create (ObservableConsumable <T > onSubscribe ) {
359
354
Objects .requireNonNull (onSubscribe , "onSubscribe is null" );
360
355
// TODO plugin wrapper
361
356
return new ObservableWrapper <T >(onSubscribe );
@@ -449,9 +444,9 @@ public static <T> Observable<T> fromIterable(Iterable<? extends T> source) {
449
444
450
445
public static <T > Observable <T > fromPublisher (final Publisher <? extends T > publisher ) {
451
446
Objects .requireNonNull (publisher , "publisher is null" );
452
- return create (new NbpOnSubscribe <T >() {
447
+ return create (new ObservableConsumable <T >() {
453
448
@ Override
454
- public void accept (final Observer <? super T > s ) {
449
+ public void subscribe (final Observer <? super T > s ) {
455
450
publisher .subscribe (new Subscriber <T >() {
456
451
457
452
@ Override
@@ -871,9 +866,9 @@ public static Observable<Integer> range(final int start, final int count) {
871
866
if ((long )start + (count - 1 ) > Integer .MAX_VALUE ) {
872
867
throw new IllegalArgumentException ("Integer overflow" );
873
868
}
874
- return create (new NbpOnSubscribe <Integer >() {
869
+ return create (new ObservableConsumable <Integer >() {
875
870
@ Override
876
- public void accept (Observer <? super Integer > s ) {
871
+ public void subscribe (Observer <? super Integer > s ) {
877
872
BooleanDisposable d = new BooleanDisposable ();
878
873
s .onSubscribe (d );
879
874
@@ -1110,9 +1105,9 @@ public final Observable<Boolean> any(Predicate<? super T> predicate) {
1110
1105
1111
1106
@ SchedulerSupport (SchedulerKind .NONE )
1112
1107
public final Observable <T > asObservable () {
1113
- return create (new NbpOnSubscribe <T >() {
1108
+ return create (new ObservableConsumable <T >() {
1114
1109
@ Override
1115
- public void accept (Observer <? super T > s ) {
1110
+ public void subscribe (Observer <? super T > s ) {
1116
1111
Observable .this .subscribe (s );
1117
1112
}
1118
1113
});
@@ -2628,6 +2623,7 @@ public final Disposable subscribe(Consumer<? super T> onNext, Consumer<? super T
2628
2623
return ls ;
2629
2624
}
2630
2625
2626
+ @ Override
2631
2627
public final void subscribe (Observer <? super T > observer ) {
2632
2628
Objects .requireNonNull (observer , "observer is null" );
2633
2629
@@ -3154,9 +3150,9 @@ public void request(long n) {
3154
3150
3155
3151
@ SchedulerSupport (SchedulerKind .NONE )
3156
3152
public final Single <T > toSingle () {
3157
- return Single .create (new SingleOnSubscribe <T >() {
3153
+ return Single .create (new SingleConsumable <T >() {
3158
3154
@ Override
3159
- public void accept (final SingleSubscriber <? super T > s ) {
3155
+ public void subscribe (final SingleSubscriber <? super T > s ) {
3160
3156
Observable .this .subscribe (new Observer <T >() {
3161
3157
T last ;
3162
3158
@ Override
0 commit comments