Skip to content

Commit 34942ad

Browse files
author
jmhofer
committed
making Func0 covariant in its return type, cleaning up a few warnings, removing a bit of unused code
1 parent 6a7ee81 commit 34942ad

25 files changed

+52
-96
lines changed

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -574,7 +574,7 @@ public static Observable<Integer> range(int start, int count) {
574574
* @return an Observable whose {@link Observer}s trigger an invocation of the given Observable
575575
* factory function
576576
*/
577-
public static <T> Observable<T> defer(Func0<Observable<T>> observableFactory) {
577+
public static <T> Observable<T> defer(Func0<? extends Observable<T>> observableFactory) {
578578
return create(OperationDefer.defer(observableFactory));
579579
}
580580

@@ -1074,7 +1074,7 @@ public static <R, T0, T1, T2, T3> Observable<R> combineLatest(Observable<T0> w0,
10741074
* An {@link Observable} which produces connected non-overlapping buffers, which are emitted
10751075
* when the current {@link Observable} created with the {@link Func0} argument produces a {@link BufferClosing} object.
10761076
*/
1077-
public Observable<List<T>> buffer(Func0<Observable<BufferClosing>> bufferClosingSelector) {
1077+
public Observable<List<T>> buffer(Func0<? extends Observable<BufferClosing>> bufferClosingSelector) {
10781078
return create(OperationBuffer.buffer(this, bufferClosingSelector));
10791079
}
10801080

rxjava-core/src/main/java/rx/operators/OperationBuffer.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@ public final class OperationBuffer {
6969
* @return
7070
* the {@link Func1} object representing the specified buffer operation.
7171
*/
72-
public static <T> Func1<Observer<List<T>>, Subscription> buffer(final Observable<T> source, final Func0<Observable<BufferClosing>> bufferClosingSelector) {
72+
public static <T> Func1<Observer<List<T>>, Subscription> buffer(final Observable<T> source, final Func0<? extends Observable<BufferClosing>> bufferClosingSelector) {
7373
return new Func1<Observer<List<T>>, Subscription>() {
7474
@Override
7575
public Subscription call(final Observer<List<T>> observer) {
@@ -444,10 +444,10 @@ public void stop() {
444444
private static class ObservableBasedSingleBufferCreator<T> implements BufferCreator<T> {
445445

446446
private final SafeObservableSubscription subscription = new SafeObservableSubscription();
447-
private final Func0<Observable<BufferClosing>> bufferClosingSelector;
447+
private final Func0<? extends Observable<BufferClosing>> bufferClosingSelector;
448448
private final NonOverlappingBuffers<T> buffers;
449449

450-
public ObservableBasedSingleBufferCreator(NonOverlappingBuffers<T> buffers, Func0<Observable<BufferClosing>> bufferClosingSelector) {
450+
public ObservableBasedSingleBufferCreator(NonOverlappingBuffers<T> buffers, Func0<? extends Observable<BufferClosing>> bufferClosingSelector) {
451451
this.buffers = buffers;
452452
this.bufferClosingSelector = bufferClosingSelector;
453453

rxjava-core/src/main/java/rx/operators/OperationDefer.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
*/
3838
public final class OperationDefer {
3939

40-
public static <T> Func1<Observer<T>, Subscription> defer(final Func0<Observable<T>> observableFactory) {
40+
public static <T> Func1<Observer<T>, Subscription> defer(final Func0<? extends Observable<T>> observableFactory) {
4141

4242
return new Func1<Observer<T>, Subscription>() {
4343
@Override

rxjava-core/src/main/java/rx/operators/OperationZip.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -80,9 +80,9 @@ public static <T0, T1, T2, T3, R> Func1<Observer<R>, Subscription> zip(Observabl
8080

8181
@SuppressWarnings("unchecked")
8282
public static <R> Func1<Observer<R>, Subscription> zip(Collection<Observable<?>> ws, FuncN<R> zipFunction) {
83-
Aggregator a = new Aggregator(zipFunction);
84-
for (Observable w : ws) {
85-
ZipObserver zipObserver = new ZipObserver(a, w);
83+
Aggregator<R> a = new Aggregator<R>(zipFunction);
84+
for (@SuppressWarnings("rawtypes") Observable w : ws) {
85+
ZipObserver<R, Object> zipObserver = new ZipObserver<R, Object>(a, w);
8686
a.addObserver(zipObserver);
8787
}
8888
return a;
@@ -299,11 +299,13 @@ public static class UnitTest {
299299
@SuppressWarnings("unchecked")
300300
@Test
301301
public void testCollectionSizeDifferentThanFunction() {
302-
FuncN<String> zipr = Functions.from(getConcatStringIntegerIntArrayZipr());
302+
FuncN<String> zipr = Functions.fromFunc(getConcatStringIntegerIntArrayZipr());
303+
//Func3<String, Integer, int[], String>
303304

304305
/* define a Observer to receive aggregated events */
305306
Observer<String> aObserver = mock(Observer.class);
306307

308+
@SuppressWarnings("rawtypes")
307309
Collection ws = java.util.Collections.singleton(Observable.from("one", "two"));
308310
Observable<String> w = Observable.create(zip(ws, zipr));
309311
w.subscribe(aObserver);

rxjava-core/src/main/java/rx/subjects/AsyncSubject.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,6 +132,7 @@ public static class UnitTest {
132132
public void testNeverCompleted() {
133133
AsyncSubject<String> subject = AsyncSubject.create();
134134

135+
@SuppressWarnings("unchecked")
135136
Observer<String> aObserver = mock(Observer.class);
136137
subject.subscribe(aObserver);
137138

@@ -153,6 +154,7 @@ private void assertNeverCompletedObserver(Observer<String> aObserver)
153154
public void testCompleted() {
154155
AsyncSubject<String> subject = AsyncSubject.create();
155156

157+
@SuppressWarnings("unchecked")
156158
Observer<String> aObserver = mock(Observer.class);
157159
subject.subscribe(aObserver);
158160

@@ -175,6 +177,7 @@ private void assertCompletedObserver(Observer<String> aObserver)
175177
public void testError() {
176178
AsyncSubject<String> subject = AsyncSubject.create();
177179

180+
@SuppressWarnings("unchecked")
178181
Observer<String> aObserver = mock(Observer.class);
179182
subject.subscribe(aObserver);
180183

rxjava-core/src/main/java/rx/subjects/PublishSubject.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -247,6 +247,7 @@ public void unsubscribe() {
247247
public void testCompleted() {
248248
PublishSubject<String> subject = PublishSubject.create();
249249

250+
@SuppressWarnings("unchecked")
250251
Observer<String> aObserver = mock(Observer.class);
251252
subject.subscribe(aObserver);
252253

@@ -255,6 +256,7 @@ public void testCompleted() {
255256
subject.onNext("three");
256257
subject.onCompleted();
257258

259+
@SuppressWarnings("unchecked")
258260
Observer<String> anotherObserver = mock(Observer.class);
259261
subject.subscribe(anotherObserver);
260262

@@ -275,17 +277,11 @@ private void assertCompletedObserver(Observer<String> aObserver)
275277
verify(aObserver, times(1)).onCompleted();
276278
}
277279

278-
private void assertNeverObserver(Observer<String> aObserver)
279-
{
280-
verify(aObserver, Mockito.never()).onNext(any(String.class));
281-
verify(aObserver, Mockito.never()).onError(any(Throwable.class));
282-
verify(aObserver, Mockito.never()).onCompleted();
283-
}
284-
285280
@Test
286281
public void testError() {
287282
PublishSubject<String> subject = PublishSubject.create();
288283

284+
@SuppressWarnings("unchecked")
289285
Observer<String> aObserver = mock(Observer.class);
290286
subject.subscribe(aObserver);
291287

@@ -294,6 +290,7 @@ public void testError() {
294290
subject.onNext("three");
295291
subject.onError(testException);
296292

293+
@SuppressWarnings("unchecked")
297294
Observer<String> anotherObserver = mock(Observer.class);
298295
subject.subscribe(anotherObserver);
299296

@@ -318,6 +315,7 @@ private void assertErrorObserver(Observer<String> aObserver)
318315
public void testSubscribeMidSequence() {
319316
PublishSubject<String> subject = PublishSubject.create();
320317

318+
@SuppressWarnings("unchecked")
321319
Observer<String> aObserver = mock(Observer.class);
322320
subject.subscribe(aObserver);
323321

@@ -326,6 +324,7 @@ public void testSubscribeMidSequence() {
326324

327325
assertObservedUntilTwo(aObserver);
328326

327+
@SuppressWarnings("unchecked")
329328
Observer<String> anotherObserver = mock(Observer.class);
330329
subject.subscribe(anotherObserver);
331330

@@ -349,6 +348,7 @@ private void assertCompletedStartingWithThreeObserver(Observer<String> aObserver
349348
public void testUnsubscribeFirstObserver() {
350349
PublishSubject<String> subject = PublishSubject.create();
351350

351+
@SuppressWarnings("unchecked")
352352
Observer<String> aObserver = mock(Observer.class);
353353
Subscription subscription = subject.subscribe(aObserver);
354354

@@ -358,6 +358,7 @@ public void testUnsubscribeFirstObserver() {
358358
subscription.unsubscribe();
359359
assertObservedUntilTwo(aObserver);
360360

361+
@SuppressWarnings("unchecked")
361362
Observer<String> anotherObserver = mock(Observer.class);
362363
subject.subscribe(anotherObserver);
363364

@@ -391,6 +392,7 @@ private void assertObservedUntilTwo(Observer<String> aObserver)
391392
public void testUnsubscribeAfterOnCompleted() {
392393
PublishSubject<String> subject = PublishSubject.create();
393394

395+
@SuppressWarnings("unchecked")
394396
Observer<String> anObserver = mock(Observer.class);
395397
subject.subscribe(anObserver);
396398

rxjava-core/src/main/java/rx/subjects/UnsubscribeTester.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ public UnsubscribeTester() {
5454
* @param <T>
5555
* The type of object passed by the Observable
5656
*/
57-
public static <T, O extends Observable<T>> void test(Func0<O> provider, Action1<? super O> generateOnCompleted, Action1<? super O> generateOnError, Action1<? super O> generateOnNext)
57+
public static <T, O extends Observable<T>> void test(Func0<? extends O> provider, Action1<? super O> generateOnCompleted, Action1<? super O> generateOnError, Action1<? super O> generateOnNext)
5858
{
5959
if (generateOnCompleted != null) {
6060
O observable = provider.call();

rxjava-core/src/main/java/rx/util/functions/Action.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,6 @@
2020
* <p>
2121
* Marker interface to allow instanceof checks.
2222
*/
23-
public interface Action extends Function {
23+
public interface Action extends Function<Void> {
2424

2525
}

rxjava-core/src/main/java/rx/util/functions/Action0.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
*/
1616
package rx.util.functions;
1717

18-
public interface Action0 extends Function, Action {
18+
public interface Action0 extends Action {
1919
public void call();
2020
}

rxjava-core/src/main/java/rx/util/functions/Action1.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,6 @@
1515
*/
1616
package rx.util.functions;
1717

18-
public interface Action1<T1> extends Function, Action {
18+
public interface Action1<T1> extends Action {
1919
public void call(T1 t1);
2020
}

0 commit comments

Comments
 (0)