diff --git a/src/main/java/io/reactivex/rxjava3/core/Completable.java b/src/main/java/io/reactivex/rxjava3/core/Completable.java index d9991a913e..46ec666337 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Completable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Completable.java @@ -121,7 +121,8 @@ public abstract class Completable implements CompletableSource { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable ambArray(final CompletableSource... sources) { + @SafeVarargs + public static Completable ambArray(@NonNull CompletableSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return complete(); @@ -150,7 +151,7 @@ public static Completable ambArray(final CompletableSource... sources) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable amb(final Iterable sources) { + public static Completable amb(@NonNull Iterable sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new CompletableAmb(null, sources)); @@ -188,7 +189,8 @@ public static Completable complete() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable concatArray(CompletableSource... sources) { + @SafeVarargs + public static Completable concatArray(@NonNull CompletableSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return complete(); @@ -214,7 +216,7 @@ public static Completable concatArray(CompletableSource... sources) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable concat(Iterable sources) { + public static Completable concat(@NonNull Iterable sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new CompletableConcatIterable(sources)); @@ -238,7 +240,8 @@ public static Completable concat(Iterable sources) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Completable concat(Publisher sources) { + @NonNull + public static Completable concat(@NonNull Publisher sources) { return concat(sources, 2); } @@ -262,7 +265,7 @@ public static Completable concat(Publisher sources) @NonNull @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Completable concat(Publisher sources, int prefetch) { + public static Completable concat(@NonNull Publisher sources, int prefetch) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); return RxJavaPlugins.onAssembly(new CompletableConcat(sources, prefetch)); @@ -312,7 +315,7 @@ public static Completable concat(Publisher sources, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable create(CompletableOnSubscribe source) { + public static Completable create(@NonNull CompletableOnSubscribe source) { Objects.requireNonNull(source, "source is null"); return RxJavaPlugins.onAssembly(new CompletableCreate(source)); } @@ -335,7 +338,7 @@ public static Completable create(CompletableOnSubscribe source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable unsafeCreate(CompletableSource source) { + public static Completable unsafeCreate(@NonNull CompletableSource source) { Objects.requireNonNull(source, "source is null"); if (source instanceof Completable) { throw new IllegalArgumentException("Use of unsafeCreate(Completable)!"); @@ -357,7 +360,7 @@ public static Completable unsafeCreate(CompletableSource source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable defer(final Supplier completableSupplier) { + public static Completable defer(@NonNull Supplier completableSupplier) { Objects.requireNonNull(completableSupplier, "completableSupplier"); return RxJavaPlugins.onAssembly(new CompletableDefer(completableSupplier)); } @@ -381,7 +384,7 @@ public static Completable defer(final Supplier comp @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable error(final Supplier errorSupplier) { + public static Completable error(@NonNull Supplier errorSupplier) { Objects.requireNonNull(errorSupplier, "errorSupplier is null"); return RxJavaPlugins.onAssembly(new CompletableErrorSupplier(errorSupplier)); } @@ -401,7 +404,7 @@ public static Completable error(final Supplier errorSupplie @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable error(final Throwable error) { + public static Completable error(@NonNull Throwable error) { Objects.requireNonNull(error, "error is null"); return RxJavaPlugins.onAssembly(new CompletableError(error)); } @@ -429,7 +432,7 @@ public static Completable error(final Throwable error) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromAction(final Action run) { + public static Completable fromAction(@NonNull Action run) { Objects.requireNonNull(run, "run is null"); return RxJavaPlugins.onAssembly(new CompletableFromAction(run)); } @@ -458,7 +461,7 @@ public static Completable fromAction(final Action run) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromCallable(final Callable callable) { + public static Completable fromCallable(@NonNull Callable callable) { Objects.requireNonNull(callable, "callable is null"); return RxJavaPlugins.onAssembly(new CompletableFromCallable(callable)); } @@ -479,7 +482,7 @@ public static Completable fromCallable(final Callable callable) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromFuture(final Future future) { + public static Completable fromFuture(@NonNull Future future) { Objects.requireNonNull(future, "future is null"); return fromAction(Functions.futureAction(future)); } @@ -504,9 +507,9 @@ public static Completable fromFuture(final Future future) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromMaybe(final MaybeSource maybe) { + public static Completable fromMaybe(@NonNull MaybeSource maybe) { Objects.requireNonNull(maybe, "maybe is null"); - return RxJavaPlugins.onAssembly(new MaybeIgnoreElementCompletable(maybe)); + return RxJavaPlugins.onAssembly(new MaybeIgnoreElementCompletable<>(maybe)); } /** @@ -532,7 +535,7 @@ public static Completable fromMaybe(final MaybeSource maybe) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromRunnable(final Runnable run) { + public static Completable fromRunnable(@NonNull Runnable run) { Objects.requireNonNull(run, "run is null"); return RxJavaPlugins.onAssembly(new CompletableFromRunnable(run)); } @@ -554,9 +557,9 @@ public static Completable fromRunnable(final Runnable run) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromObservable(final ObservableSource observable) { + public static Completable fromObservable(@NonNull ObservableSource observable) { Objects.requireNonNull(observable, "observable is null"); - return RxJavaPlugins.onAssembly(new CompletableFromObservable(observable)); + return RxJavaPlugins.onAssembly(new CompletableFromObservable<>(observable)); } /** @@ -592,9 +595,9 @@ public static Completable fromObservable(final ObservableSource observabl @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromPublisher(final Publisher publisher) { + public static Completable fromPublisher(@NonNull Publisher publisher) { Objects.requireNonNull(publisher, "publisher is null"); - return RxJavaPlugins.onAssembly(new CompletableFromPublisher(publisher)); + return RxJavaPlugins.onAssembly(new CompletableFromPublisher<>(publisher)); } /** @@ -614,9 +617,9 @@ public static Completable fromPublisher(final Publisher publisher) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromSingle(final SingleSource single) { + public static Completable fromSingle(@NonNull SingleSource single) { Objects.requireNonNull(single, "single is null"); - return RxJavaPlugins.onAssembly(new CompletableFromSingle(single)); + return RxJavaPlugins.onAssembly(new CompletableFromSingle<>(single)); } /** @@ -644,7 +647,7 @@ public static Completable fromSingle(final SingleSource single) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable fromSupplier(final Supplier supplier) { + public static Completable fromSupplier(@NonNull Supplier supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new CompletableFromSupplier(supplier)); } @@ -679,7 +682,8 @@ public static Completable fromSupplier(final Supplier supplier) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable mergeArray(CompletableSource... sources) { + @SafeVarargs + public static Completable mergeArray(@NonNull CompletableSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return complete(); @@ -720,7 +724,7 @@ public static Completable mergeArray(CompletableSource... sources) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable merge(Iterable sources) { + public static Completable merge(@NonNull Iterable sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new CompletableMergeIterable(sources)); } @@ -758,7 +762,8 @@ public static Completable merge(Iterable sources) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) - public static Completable merge(Publisher sources) { + @NonNull + public static Completable merge(@NonNull Publisher sources) { return merge0(sources, Integer.MAX_VALUE, false); } @@ -797,7 +802,8 @@ public static Completable merge(Publisher sources) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Completable merge(Publisher sources, int maxConcurrency) { + @NonNull + public static Completable merge(@NonNull Publisher sources, int maxConcurrency) { return merge0(sources, maxConcurrency, false); } @@ -823,7 +829,7 @@ public static Completable merge(Publisher sources, @NonNull @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - private static Completable merge0(Publisher sources, int maxConcurrency, boolean delayErrors) { + private static Completable merge0(@NonNull Publisher sources, int maxConcurrency, boolean delayErrors) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); return RxJavaPlugins.onAssembly(new CompletableMerge(sources, maxConcurrency, delayErrors)); @@ -846,7 +852,8 @@ private static Completable merge0(Publisher sources @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable mergeArrayDelayError(CompletableSource... sources) { + @SafeVarargs + public static Completable mergeArrayDelayError(@NonNull CompletableSource... sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new CompletableMergeDelayErrorArray(sources)); } @@ -868,7 +875,7 @@ public static Completable mergeArrayDelayError(CompletableSource... sources) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable mergeDelayError(Iterable sources) { + public static Completable mergeDelayError(@NonNull Iterable sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new CompletableMergeDelayErrorIterable(sources)); } @@ -893,7 +900,8 @@ public static Completable mergeDelayError(Iterable @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) - public static Completable mergeDelayError(Publisher sources) { + @NonNull + public static Completable mergeDelayError(@NonNull Publisher sources) { return merge0(sources, Integer.MAX_VALUE, true); } @@ -919,7 +927,8 @@ public static Completable mergeDelayError(Publisher @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Completable mergeDelayError(Publisher sources, int maxConcurrency) { + @NonNull + public static Completable mergeDelayError(@NonNull Publisher sources, int maxConcurrency) { return merge0(sources, maxConcurrency, true); } @@ -935,6 +944,7 @@ public static Completable mergeDelayError(Publisher */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public static Completable never() { return RxJavaPlugins.onAssembly(CompletableNever.INSTANCE); } @@ -953,7 +963,8 @@ public static Completable never() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public static Completable timer(long delay, TimeUnit unit) { + @NonNull + public static Completable timer(long delay, @NonNull TimeUnit unit) { return timer(delay, unit, Schedulers.computation()); } @@ -974,7 +985,7 @@ public static Completable timer(long delay, TimeUnit unit) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Completable timer(final long delay, final TimeUnit unit, final Scheduler scheduler) { + public static Completable timer(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new CompletableTimer(delay, unit, scheduler)); @@ -1010,9 +1021,10 @@ private static NullPointerException toNpe(Throwable ex) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Completable using(Supplier resourceSupplier, - Function completableFunction, - Consumer disposer) { + @NonNull + public static Completable using(@NonNull Supplier resourceSupplier, + @NonNull Function completableFunction, + @NonNull Consumer disposer) { return using(resourceSupplier, completableFunction, disposer, true); } @@ -1045,15 +1057,15 @@ public static Completable using(Supplier resourceSupplier, @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Completable using( - final Supplier resourceSupplier, - final Function completableFunction, - final Consumer disposer, - final boolean eager) { + @NonNull Supplier resourceSupplier, + @NonNull Function completableFunction, + @NonNull Consumer disposer, + boolean eager) { Objects.requireNonNull(resourceSupplier, "resourceSupplier is null"); Objects.requireNonNull(completableFunction, "completableFunction is null"); Objects.requireNonNull(disposer, "disposer is null"); - return RxJavaPlugins.onAssembly(new CompletableUsing(resourceSupplier, completableFunction, disposer, eager)); + return RxJavaPlugins.onAssembly(new CompletableUsing<>(resourceSupplier, completableFunction, disposer, eager)); } /** @@ -1072,7 +1084,7 @@ public static Completable using( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Completable wrap(CompletableSource source) { + public static Completable wrap(@NonNull CompletableSource source) { Objects.requireNonNull(source, "source is null"); if (source instanceof Completable) { return RxJavaPlugins.onAssembly((Completable)source); @@ -1097,7 +1109,7 @@ public static Completable wrap(CompletableSource source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable ambWith(CompletableSource other) { + public final Completable ambWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); return ambArray(this, other); } @@ -1121,9 +1133,9 @@ public final Completable ambWith(CompletableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Observable andThen(ObservableSource next) { + public final <@NonNull T> Observable andThen(@NonNull ObservableSource next) { Objects.requireNonNull(next, "next is null"); - return RxJavaPlugins.onAssembly(new CompletableAndThenObservable(this, next)); + return RxJavaPlugins.onAssembly(new CompletableAndThenObservable<>(this, next)); } /** @@ -1149,9 +1161,9 @@ public final Observable andThen(ObservableSource next) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable andThen(Publisher next) { + public final <@NonNull T> Flowable andThen(@NonNull Publisher next) { Objects.requireNonNull(next, "next is null"); - return RxJavaPlugins.onAssembly(new CompletableAndThenPublisher(this, next)); + return RxJavaPlugins.onAssembly(new CompletableAndThenPublisher<>(this, next)); } /** @@ -1173,9 +1185,9 @@ public final Flowable andThen(Publisher next) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single andThen(SingleSource next) { + public final <@NonNull T> Single andThen(@NonNull SingleSource next) { Objects.requireNonNull(next, "next is null"); - return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable(next, this)); + return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable<>(next, this)); } /** @@ -1197,9 +1209,9 @@ public final Single andThen(SingleSource next) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe andThen(MaybeSource next) { + public final <@NonNull T> Maybe andThen(@NonNull MaybeSource next) { Objects.requireNonNull(next, "next is null"); - return RxJavaPlugins.onAssembly(new MaybeDelayWithCompletable(next, this)); + return RxJavaPlugins.onAssembly(new MaybeDelayWithCompletable<>(next, this)); } /** @@ -1219,7 +1231,8 @@ public final Maybe andThen(MaybeSource next) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable andThen(CompletableSource next) { + @NonNull + public final Completable andThen(@NonNull CompletableSource next) { Objects.requireNonNull(next, "next is null"); return RxJavaPlugins.onAssembly(new CompletableAndThenCompletable(this, next)); } @@ -1241,7 +1254,7 @@ public final Completable andThen(CompletableSource next) { */ @SchedulerSupport(SchedulerSupport.NONE) public final void blockingAwait() { - BlockingMultiObserver observer = new BlockingMultiObserver(); + BlockingMultiObserver observer = new BlockingMultiObserver<>(); subscribe(observer); observer.blockingGet(); } @@ -1266,11 +1279,10 @@ public final void blockingAwait() { * @throws RuntimeException wrapping an InterruptedException if the current thread is interrupted */ @CheckReturnValue - @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final boolean blockingAwait(long timeout, TimeUnit unit) { + public final boolean blockingAwait(long timeout, @NonNull TimeUnit unit) { Objects.requireNonNull(unit, "unit is null"); - BlockingMultiObserver observer = new BlockingMultiObserver(); + BlockingMultiObserver observer = new BlockingMultiObserver<>(); subscribe(observer); return observer.blockingAwait(timeout, unit); } @@ -1294,6 +1306,7 @@ public final boolean blockingAwait(long timeout, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable cache() { return RxJavaPlugins.onAssembly(new CompletableCache(this)); } @@ -1313,7 +1326,8 @@ public final Completable cache() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable compose(CompletableTransformer transformer) { + @NonNull + public final Completable compose(@NonNull CompletableTransformer transformer) { return wrap(Objects.requireNonNull(transformer, "transformer is null").apply(this)); } @@ -1336,7 +1350,7 @@ public final Completable compose(CompletableTransformer transformer) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable concatWith(CompletableSource other) { + public final Completable concatWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); return RxJavaPlugins.onAssembly(new CompletableAndThenCompletable(this, other)); } @@ -1356,7 +1370,8 @@ public final Completable concatWith(CompletableSource other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Completable delay(long delay, TimeUnit unit) { + @NonNull + public final Completable delay(long delay, @NonNull TimeUnit unit) { return delay(delay, unit, Schedulers.computation(), false); } @@ -1377,7 +1392,8 @@ public final Completable delay(long delay, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Completable delay(long delay, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Completable delay(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delay(delay, unit, scheduler, false); } @@ -1400,7 +1416,7 @@ public final Completable delay(long delay, TimeUnit unit, Scheduler scheduler) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Completable delay(final long delay, final TimeUnit unit, final Scheduler scheduler, final boolean delayError) { + public final Completable delay(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new CompletableDelay(this, delay, unit, scheduler, delayError)); @@ -1424,7 +1440,8 @@ public final Completable delay(final long delay, final TimeUnit unit, final Sche */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Completable delaySubscription(long delay, TimeUnit unit) { + @NonNull + public final Completable delaySubscription(long delay, @NonNull TimeUnit unit) { return delaySubscription(delay, unit, Schedulers.computation()); } @@ -1448,7 +1465,8 @@ public final Completable delaySubscription(long delay, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Completable delaySubscription(long delay, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Completable delaySubscription(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return Completable.timer(delay, unit, scheduler).andThen(this); } @@ -1467,7 +1485,8 @@ public final Completable delaySubscription(long delay, TimeUnit unit, Scheduler */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnComplete(Action onComplete) { + @NonNull + public final Completable doOnComplete(@NonNull Action onComplete) { return doOnLifecycle(Functions.emptyConsumer(), Functions.emptyConsumer(), onComplete, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); @@ -1488,7 +1507,8 @@ public final Completable doOnComplete(Action onComplete) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnDispose(Action onDispose) { + @NonNull + public final Completable doOnDispose(@NonNull Action onDispose) { return doOnLifecycle(Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, onDispose); @@ -1509,7 +1529,8 @@ public final Completable doOnDispose(Action onDispose) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnError(Consumer onError) { + @NonNull + public final Completable doOnError(@NonNull Consumer onError) { return doOnLifecycle(Functions.emptyConsumer(), onError, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); @@ -1531,7 +1552,7 @@ public final Completable doOnError(Consumer onError) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnEvent(final Consumer onEvent) { + public final Completable doOnEvent(@NonNull Consumer onEvent) { Objects.requireNonNull(onEvent, "onEvent is null"); return RxJavaPlugins.onAssembly(new CompletableDoOnEvent(this, onEvent)); } @@ -1584,7 +1605,8 @@ private Completable doOnLifecycle( */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnSubscribe(Consumer onSubscribe) { + @NonNull + public final Completable doOnSubscribe(@NonNull Consumer onSubscribe) { return doOnLifecycle(onSubscribe, Functions.emptyConsumer(), Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); @@ -1605,7 +1627,8 @@ public final Completable doOnSubscribe(Consumer onSubscribe) */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doOnTerminate(final Action onTerminate) { + @NonNull + public final Completable doOnTerminate(@NonNull Action onTerminate) { return doOnLifecycle(Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.EMPTY_ACTION, onTerminate, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); @@ -1626,7 +1649,8 @@ public final Completable doOnTerminate(final Action onTerminate) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doAfterTerminate(final Action onAfterTerminate) { + @NonNull + public final Completable doAfterTerminate(@NonNull Action onAfterTerminate) { return doOnLifecycle( Functions.emptyConsumer(), Functions.emptyConsumer(), @@ -1658,7 +1682,7 @@ public final Completable doAfterTerminate(final Action onAfterTerminate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable doFinally(Action onFinally) { + public final Completable doFinally(@NonNull Action onFinally) { Objects.requireNonNull(onFinally, "onFinally is null"); return RxJavaPlugins.onAssembly(new CompletableDoFinally(this, onFinally)); } @@ -1796,7 +1820,7 @@ public final Completable doFinally(Action onFinally) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable lift(final CompletableOperator onLift) { + public final Completable lift(@NonNull CompletableOperator onLift) { Objects.requireNonNull(onLift, "onLift is null"); return RxJavaPlugins.onAssembly(new CompletableLift(this, onLift)); } @@ -1818,6 +1842,7 @@ public final Completable lift(final CompletableOperator onLift) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> materialize() { return RxJavaPlugins.onAssembly(new CompletableMaterialize(this)); } @@ -1838,7 +1863,7 @@ public final Single> materialize() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable mergeWith(CompletableSource other) { + public final Completable mergeWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); return mergeArray(this, other); } @@ -1858,7 +1883,7 @@ public final Completable mergeWith(CompletableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Completable observeOn(final Scheduler scheduler) { + public final Completable observeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new CompletableObserveOn(this, scheduler)); } @@ -1876,6 +1901,7 @@ public final Completable observeOn(final Scheduler scheduler) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable onErrorComplete() { return onErrorComplete(Functions.alwaysTrue()); } @@ -1896,7 +1922,7 @@ public final Completable onErrorComplete() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable onErrorComplete(final Predicate predicate) { + public final Completable onErrorComplete(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); return RxJavaPlugins.onAssembly(new CompletableOnErrorComplete(this, predicate)); @@ -1919,7 +1945,7 @@ public final Completable onErrorComplete(final Predicate pred @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable onErrorResumeNext(final Function errorMapper) { + public final Completable onErrorResumeNext(@NonNull Function errorMapper) { Objects.requireNonNull(errorMapper, "errorMapper is null"); return RxJavaPlugins.onAssembly(new CompletableResumeNext(this, errorMapper)); } @@ -1940,6 +1966,7 @@ public final Completable onErrorResumeNext(final Function, ? extends Publisher> handler) { + @NonNull + public final Completable repeatWhen(@NonNull Function, ? extends Publisher> handler) { return fromPublisher(toFlowable().repeatWhen(handler)); } @@ -2030,6 +2061,7 @@ public final Completable repeatWhen(Function, ? extends */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable retry() { return fromPublisher(toFlowable().retry()); } @@ -2049,7 +2081,8 @@ public final Completable retry() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable retry(BiPredicate predicate) { + @NonNull + public final Completable retry(@NonNull BiPredicate predicate) { return fromPublisher(toFlowable().retry(predicate)); } @@ -2068,6 +2101,7 @@ public final Completable retry(BiPredicate p */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable retry(long times) { return fromPublisher(toFlowable().retry(times)); } @@ -2092,7 +2126,8 @@ public final Completable retry(long times) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable retry(long times, Predicate predicate) { + @NonNull + public final Completable retry(long times, @NonNull Predicate predicate) { return fromPublisher(toFlowable().retry(times, predicate)); } @@ -2112,7 +2147,8 @@ public final Completable retry(long times, Predicate predicat */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable retry(Predicate predicate) { + @NonNull + public final Completable retry(@NonNull Predicate predicate) { return fromPublisher(toFlowable().retry(predicate)); } @@ -2158,7 +2194,8 @@ public final Completable retry(Predicate predicate) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Completable retryWhen(Function, ? extends Publisher> handler) { + @NonNull + public final Completable retryWhen(@NonNull Function, ? extends Publisher> handler) { return fromPublisher(toFlowable().retryWhen(handler)); } @@ -2178,7 +2215,7 @@ public final Completable retryWhen(Function, ? exten @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Completable startWith(CompletableSource other) { + public final Completable startWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); return concatArray(other, this); } @@ -2200,9 +2237,9 @@ public final Completable startWith(CompletableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Observable startWith(Observable other) { + public final Observable startWith(@NonNull ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return other.concatWith(this.toObservable()); + return Observable.wrap(other).concatWith(this.toObservable()); } /** * Returns a Flowable which first delivers the events @@ -2225,7 +2262,7 @@ public final Observable startWith(Observable other) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable startWith(Publisher other) { + public final Flowable startWith(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return this.toFlowable().startWith(other); } @@ -2246,6 +2283,7 @@ public final Flowable startWith(Publisher other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable hide() { return RxJavaPlugins.onAssembly(new CompletableHide(this)); } @@ -2262,6 +2300,7 @@ public final Completable hide() { * @return the Disposable that allows disposing the subscription */ @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Disposable subscribe() { EmptyCompletableObserver observer = new EmptyCompletableObserver(); subscribe(observer); @@ -2270,7 +2309,7 @@ public final Disposable subscribe() { @SchedulerSupport(SchedulerSupport.NONE) @Override - public final void subscribe(CompletableObserver observer) { + public final void subscribe(@NonNull CompletableObserver observer) { Objects.requireNonNull(observer, "observer is null"); try { @@ -2326,7 +2365,8 @@ public final void subscribe(CompletableObserver observer) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final E subscribeWith(E observer) { + @NonNull + public final <@NonNull E extends CompletableObserver> E subscribeWith(E observer) { subscribe(observer); return observer; } @@ -2347,7 +2387,7 @@ public final E subscribeWith(E observer) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(final Action onComplete, final Consumer onError) { + public final Disposable subscribe(@NonNull Action onComplete, @NonNull Consumer onError) { Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); @@ -2375,7 +2415,7 @@ public final Disposable subscribe(final Action onComplete, final Consumer R to(@NonNull CompletableConverter converter) { @SuppressWarnings("unchecked") @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable toFlowable() { if (this instanceof FuseToFlowable) { return ((FuseToFlowable)this).fuseToFlowable(); @@ -2613,6 +2656,7 @@ public final Flowable toFlowable() { @CheckReturnValue @SuppressWarnings("unchecked") @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe toMaybe() { if (this instanceof FuseToMaybe) { return ((FuseToMaybe)this).fuseToMaybe(); @@ -2635,6 +2679,7 @@ public final Maybe toMaybe() { @CheckReturnValue @SuppressWarnings("unchecked") @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Observable toObservable() { if (this instanceof FuseToObservable) { return ((FuseToObservable)this).fuseToObservable(); @@ -2659,7 +2704,7 @@ public final Observable toObservable() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single toSingle(final Supplier completionValueSupplier) { + public final <@NonNull T> Single toSingle(@NonNull Supplier completionValueSupplier) { Objects.requireNonNull(completionValueSupplier, "completionValueSupplier is null"); return RxJavaPlugins.onAssembly(new CompletableToSingle(this, completionValueSupplier, null)); } @@ -2681,9 +2726,9 @@ public final Single toSingle(final Supplier completionValueS @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single toSingleDefault(final T completionValue) { + public final <@NonNull T> Single toSingleDefault(T completionValue) { Objects.requireNonNull(completionValue, "completionValue is null"); - return RxJavaPlugins.onAssembly(new CompletableToSingle(this, null, completionValue)); + return RxJavaPlugins.onAssembly(new CompletableToSingle<>(this, null, completionValue)); } /** @@ -2702,7 +2747,7 @@ public final Single toSingleDefault(final T completionValue) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Completable unsubscribeOn(final Scheduler scheduler) { + public final Completable unsubscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new CompletableDisposeOn(this, scheduler)); } @@ -2724,8 +2769,9 @@ public final Completable unsubscribeOn(final Scheduler scheduler) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestObserver test() { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); subscribe(to); return to; } @@ -2745,8 +2791,9 @@ public final TestObserver test() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestObserver test(boolean dispose) { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); if (dispose) { to.dispose(); diff --git a/src/main/java/io/reactivex/rxjava3/core/Flowable.java b/src/main/java/io/reactivex/rxjava3/core/Flowable.java index 0b2e9197cb..c5bdb06b2c 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Flowable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Flowable.java @@ -185,7 +185,7 @@ public abstract class Flowable implements Publisher { @SchedulerSupport(SchedulerSupport.NONE) public static Flowable amb(Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); - return RxJavaPlugins.onAssembly(new FlowableAmb(null, sources)); + return RxJavaPlugins.onAssembly(new FlowableAmb<>(null, sources)); } /** @@ -223,7 +223,7 @@ public static Flowable ambArray(Publisher... sources) { if (len == 1) { return fromPublisher(sources[0]); } - return RxJavaPlugins.onAssembly(new FlowableAmb(sources, null)); + return RxJavaPlugins.onAssembly(new FlowableAmb<>(sources, null)); } /** @@ -276,7 +276,8 @@ public static int bufferSize() { @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) - public static Flowable combineLatestArray(Publisher[] sources, Function combiner) { + @NonNull + public static Flowable combineLatestArray(@NonNull Publisher[] sources, @NonNull Function combiner) { return combineLatestArray(sources, combiner, bufferSize()); } @@ -323,7 +324,7 @@ public static Flowable combineLatestArray(Publisher[] sou @CheckReturnValue @NonNull @BackpressureSupport(BackpressureKind.FULL) - public static Flowable combineLatestArray(Publisher[] sources, Function combiner, int bufferSize) { + public static Flowable combineLatestArray(@NonNull Publisher[] sources, @NonNull Function combiner, int bufferSize) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return empty(); @@ -373,8 +374,9 @@ public static Flowable combineLatestArray(Publisher[] sou @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) - public static Flowable combineLatest(Iterable> sources, - Function combiner) { + @NonNull + public static Flowable combineLatest(@NonNull Iterable> sources, + @NonNull Function combiner) { return combineLatest(sources, combiner, bufferSize()); } @@ -421,8 +423,8 @@ public static Flowable combineLatest(Iterable Flowable combineLatest(Iterable> sources, - Function combiner, int bufferSize) { + public static Flowable combineLatest(@NonNull Iterable> sources, + @NonNull Function combiner, int bufferSize) { Objects.requireNonNull(sources, "sources is null"); Objects.requireNonNull(combiner, "combiner is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -469,8 +471,9 @@ public static Flowable combineLatest(Iterable Flowable combineLatestDelayError(Publisher[] sources, - Function combiner) { + @NonNull + public static Flowable combineLatestDelayError(@NonNull Publisher[] sources, + @NonNull Function combiner) { return combineLatestDelayError(sources, combiner, bufferSize()); } @@ -518,8 +521,8 @@ public static Flowable combineLatestDelayError(Publisher[ @CheckReturnValue @NonNull @BackpressureSupport(BackpressureKind.FULL) - public static Flowable combineLatestDelayError(Publisher[] sources, - Function combiner, int bufferSize) { + public static Flowable combineLatestDelayError(@NonNull Publisher[] sources, + @NonNull Function combiner, int bufferSize) { Objects.requireNonNull(sources, "sources is null"); Objects.requireNonNull(combiner, "combiner is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -570,8 +573,9 @@ public static Flowable combineLatestDelayError(Publisher[ @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) - public static Flowable combineLatestDelayError(Iterable> sources, - Function combiner) { + @NonNull + public static Flowable combineLatestDelayError(@NonNull Iterable> sources, + @NonNull Function combiner) { return combineLatestDelayError(sources, combiner, bufferSize()); } @@ -618,8 +622,9 @@ public static Flowable combineLatestDelayError(Iterable Flowable combineLatestDelayError(Iterable> sources, - Function combiner, int bufferSize) { + @NonNull + public static Flowable combineLatestDelayError(@NonNull Iterable> sources, + @NonNull Function combiner, int bufferSize) { Objects.requireNonNull(sources, "sources is null"); Objects.requireNonNull(combiner, "combiner is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -662,9 +667,10 @@ public static Flowable combineLatestDelayError(Iterable Flowable combineLatest( - Publisher source1, Publisher source2, - BiFunction combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiFunction combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return combineLatestArray(new Publisher[] { source1, source2 }, Functions.toFunction(combiner), bufferSize()); @@ -711,9 +717,9 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, - Function3 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, + @NonNull Function3 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -764,9 +770,9 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Function4 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Function4 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -821,10 +827,10 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Publisher source5, - Function5 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Publisher source5, + @NonNull Function5 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -883,10 +889,10 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Publisher source5, Publisher source6, - Function6 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Function6 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -949,11 +955,11 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Publisher source5, Publisher source6, - Publisher source7, - Function7 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, + @NonNull Function7 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1020,11 +1026,11 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Publisher source5, Publisher source6, - Publisher source7, Publisher source8, - Function8 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, @NonNull Publisher source8, + @NonNull Function8 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1095,12 +1101,12 @@ public static Flowable combineLatest( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable combineLatest( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Publisher source5, Publisher source6, - Publisher source7, Publisher source8, - Publisher source9, - Function9 combiner) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, @NonNull Publisher source8, + @NonNull Publisher source9, + @NonNull Function9 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1136,7 +1142,7 @@ public static Flowable combineLatest( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Iterable> sources) { + public static Flowable concat(@NonNull Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); // unlike general sources, fromIterable can only throw on a boundary because it is consumed only there return fromIterable(sources).concatMapDelayError((Function)Functions.identity(), false, 2); @@ -1167,7 +1173,8 @@ public static Flowable concat(Iterable> @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Publisher> sources) { + @NonNull + public static Flowable concat(@NonNull Publisher> sources) { return concat(sources, bufferSize()); } @@ -1199,7 +1206,8 @@ public static Flowable concat(Publisher> @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Publisher> sources, int prefetch) { + @NonNull + public static Flowable concat(@NonNull Publisher> sources, int prefetch) { return fromPublisher(sources).concatMap((Function)Functions.identity(), prefetch); } @@ -1231,7 +1239,7 @@ public static Flowable concat(Publisher> @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Publisher source1, Publisher source2) { + public static Flowable concat(@NonNull Publisher source1, @NonNull Publisher source2) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return concatArray(source1, source2); @@ -1268,8 +1276,8 @@ public static Flowable concat(Publisher source1, Publisher Flowable concat( - Publisher source1, Publisher source2, - Publisher source3) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1309,8 +1317,8 @@ public static Flowable concat( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable concat( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1342,14 +1350,15 @@ public static Flowable concat( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SafeVarargs - public static Flowable concatArray(Publisher... sources) { + @NonNull + public static Flowable concatArray(@NonNull Publisher... sources) { if (sources.length == 0) { return empty(); } else if (sources.length == 1) { return fromPublisher(sources[0]); } - return RxJavaPlugins.onAssembly(new FlowableConcatArray(sources, false)); + return RxJavaPlugins.onAssembly(new FlowableConcatArray<>(sources, false)); } /** @@ -1375,14 +1384,15 @@ public static Flowable concatArray(Publisher... sources) { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SafeVarargs - public static Flowable concatArrayDelayError(Publisher... sources) { + @NonNull + public static Flowable concatArrayDelayError(@NonNull Publisher... sources) { if (sources.length == 0) { return empty(); } else if (sources.length == 1) { return fromPublisher(sources[0]); } - return RxJavaPlugins.onAssembly(new FlowableConcatArray(sources, true)); + return RxJavaPlugins.onAssembly(new FlowableConcatArray<>(sources, true)); } /** @@ -1411,7 +1421,8 @@ public static Flowable concatArrayDelayError(Publisher... so @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SafeVarargs - public static Flowable concatArrayEager(Publisher... sources) { + @NonNull + public static Flowable concatArrayEager(@NonNull Publisher... sources) { return concatArrayEager(bufferSize(), bufferSize(), sources); } @@ -1445,7 +1456,8 @@ public static Flowable concatArrayEager(Publisher... sources @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings({ "rawtypes", "unchecked" }) - public static Flowable concatArrayEager(int maxConcurrency, int prefetch, Publisher... sources) { + @SafeVarargs + public static Flowable concatArrayEager(int maxConcurrency, int prefetch, @NonNull Publisher... sources) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); ObjectHelper.verifyPositive(prefetch, "prefetch"); @@ -1479,7 +1491,8 @@ public static Flowable concatArrayEager(int maxConcurrency, int prefetch, @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) @SafeVarargs - public static Flowable concatArrayEagerDelayError(Publisher... sources) { + @NonNull + public static Flowable concatArrayEagerDelayError(@NonNull Publisher... sources) { return concatArrayEagerDelayError(bufferSize(), bufferSize(), sources); } @@ -1513,7 +1526,9 @@ public static Flowable concatArrayEagerDelayError(Publisher. @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Flowable concatArrayEagerDelayError(int maxConcurrency, int prefetch, Publisher... sources) { + @SafeVarargs + @NonNull + public static Flowable concatArrayEagerDelayError(int maxConcurrency, int prefetch, @NonNull Publisher... sources) { return fromArray(sources).concatMapEagerDelayError((Function)Functions.identity(), true, maxConcurrency, prefetch); } @@ -1540,7 +1555,7 @@ public static Flowable concatArrayEagerDelayError(int maxConcurrency, int @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concatDelayError(Iterable> sources) { + public static Flowable concatDelayError(@NonNull Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); return fromIterable(sources).concatMapDelayError((Function)Functions.identity()); } @@ -1563,7 +1578,8 @@ public static Flowable concatDelayError(Iterable Flowable concatDelayError(Publisher> sources) { + @NonNull + public static Flowable concatDelayError(@NonNull Publisher> sources) { return concatDelayError(sources, bufferSize(), true); } @@ -1589,7 +1605,8 @@ public static Flowable concatDelayError(Publisher Flowable concatDelayError(Publisher> sources, int prefetch, boolean tillTheEnd) { + @NonNull + public static Flowable concatDelayError(@NonNull Publisher> sources, int prefetch, boolean tillTheEnd) { return fromPublisher(sources).concatMapDelayError((Function)Functions.identity(), tillTheEnd, prefetch); } @@ -1615,7 +1632,8 @@ public static Flowable concatDelayError(Publisher Flowable concatEager(Publisher> sources) { + @NonNull + public static Flowable concatEager(@NonNull Publisher> sources) { return concatEager(sources, bufferSize(), bufferSize()); } @@ -1646,7 +1664,7 @@ public static Flowable concatEager(Publisher Flowable concatEager(Publisher> sources, int maxConcurrency, int prefetch) { + public static Flowable concatEager(@NonNull Publisher> sources, int maxConcurrency, int prefetch) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); ObjectHelper.verifyPositive(prefetch, "prefetch"); @@ -1675,7 +1693,8 @@ public static Flowable concatEager(Publisher Flowable concatEager(Iterable> sources) { + @NonNull + public static Flowable concatEager(@NonNull Iterable> sources) { return concatEager(sources, bufferSize(), bufferSize()); } @@ -1706,7 +1725,7 @@ public static Flowable concatEager(Iterable Flowable concatEager(Iterable> sources, int maxConcurrency, int prefetch) { + public static Flowable concatEager(@NonNull Iterable> sources, int maxConcurrency, int prefetch) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); ObjectHelper.verifyPositive(prefetch, "prefetch"); @@ -1769,10 +1788,10 @@ public static Flowable concatEager(Iterable Flowable create(FlowableOnSubscribe source, BackpressureStrategy mode) { + public static Flowable create(@NonNull FlowableOnSubscribe source, @NonNull BackpressureStrategy mode) { Objects.requireNonNull(source, "source is null"); Objects.requireNonNull(mode, "mode is null"); - return RxJavaPlugins.onAssembly(new FlowableCreate(source, mode)); + return RxJavaPlugins.onAssembly(new FlowableCreate<>(source, mode)); } /** @@ -1806,9 +1825,9 @@ public static Flowable create(FlowableOnSubscribe source, Backpressure @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable defer(Supplier> supplier) { + public static Flowable defer(@NonNull Supplier> supplier) { Objects.requireNonNull(supplier, "supplier is null"); - return RxJavaPlugins.onAssembly(new FlowableDefer(supplier)); + return RxJavaPlugins.onAssembly(new FlowableDefer<>(supplier)); } /** @@ -1833,6 +1852,7 @@ public static Flowable defer(Supplier> s @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public static Flowable empty() { return RxJavaPlugins.onAssembly((Flowable) FlowableEmpty.INSTANCE); } @@ -1861,7 +1881,7 @@ public static Flowable empty() { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable error(Supplier supplier) { + public static Flowable error(@NonNull Supplier supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new FlowableError(supplier)); } @@ -1890,7 +1910,7 @@ public static Flowable error(Supplier supplier) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable error(final Throwable throwable) { + public static Flowable error(@NonNull Throwable throwable) { Objects.requireNonNull(throwable, "throwable is null"); return error(Functions.justSupplier(throwable)); } @@ -1919,7 +1939,7 @@ public static Flowable error(final Throwable throwable) { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SafeVarargs - public static Flowable fromArray(T... items) { + public static <@NonNull T> Flowable fromArray(@NonNull T... items) { Objects.requireNonNull(items, "items is null"); if (items.length == 0) { return empty(); @@ -1927,7 +1947,7 @@ public static Flowable fromArray(T... items) { if (items.length == 1) { return just(items[0]); } - return RxJavaPlugins.onAssembly(new FlowableFromArray(items)); + return RxJavaPlugins.onAssembly(new FlowableFromArray<>(items)); } /** @@ -1966,7 +1986,7 @@ public static Flowable fromArray(T... items) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable fromCallable(Callable supplier) { + public static <@NonNull T> Flowable fromCallable(@NonNull Callable supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new FlowableFromCallable(supplier)); } @@ -2008,7 +2028,7 @@ public static Flowable fromCallable(Callable supplier) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable fromFuture(Future future) { + public static <@NonNull T> Flowable fromFuture(@NonNull Future future) { Objects.requireNonNull(future, "future is null"); return RxJavaPlugins.onAssembly(new FlowableFromFuture(future, 0L, null)); } @@ -2054,7 +2074,7 @@ public static Flowable fromFuture(Future future) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable fromFuture(Future future, long timeout, TimeUnit unit) { + public static <@NonNull T> Flowable fromFuture(@NonNull Future future, long timeout, @NonNull TimeUnit unit) { Objects.requireNonNull(future, "future is null"); Objects.requireNonNull(unit, "unit is null"); return RxJavaPlugins.onAssembly(new FlowableFromFuture(future, timeout, unit)); @@ -2105,7 +2125,7 @@ public static Flowable fromFuture(Future future, long timeou @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable fromFuture(Future future, long timeout, TimeUnit unit, Scheduler scheduler) { + public static <@NonNull T> Flowable fromFuture(Future future, long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); return fromFuture((Future)future, timeout, unit).subscribeOn(scheduler); } @@ -2144,7 +2164,7 @@ public static Flowable fromFuture(Future future, long timeou @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable fromFuture(Future future, Scheduler scheduler) { + public static <@NonNull T> Flowable fromFuture(Future future, @NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); return fromFuture((Future)future).subscribeOn(scheduler); } @@ -2174,7 +2194,7 @@ public static Flowable fromFuture(Future future, Scheduler s @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable fromIterable(Iterable source) { + public static <@NonNull T> Flowable fromIterable(@NonNull Iterable source) { Objects.requireNonNull(source, "source is null"); return RxJavaPlugins.onAssembly(new FlowableFromIterable(source)); } @@ -2211,7 +2231,7 @@ public static Flowable fromIterable(Iterable source) { @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") - public static Flowable fromPublisher(final Publisher source) { + public static Flowable fromPublisher(@NonNull Publisher source) { if (source instanceof Flowable) { return RxJavaPlugins.onAssembly((Flowable)source); } @@ -2256,7 +2276,7 @@ public static Flowable fromPublisher(final Publisher source) @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable fromSupplier(Supplier supplier) { + public static <@NonNull T> Flowable fromSupplier(@NonNull Supplier supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new FlowableFromSupplier(supplier)); } @@ -2286,7 +2306,7 @@ public static Flowable fromSupplier(Supplier supplier) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable generate(final Consumer> generator) { + public static Flowable generate(@NonNull Consumer<@NonNull Emitter> generator) { Objects.requireNonNull(generator, "generator is null"); return generate(Functions.nullSupplier(), FlowableInternalHelper.simpleGenerator(generator), @@ -2320,7 +2340,7 @@ public static Flowable generate(final Consumer> generator) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable generate(Supplier initialState, final BiConsumer> generator) { + public static Flowable generate(@NonNull Supplier initialState, @NonNull BiConsumer> generator) { Objects.requireNonNull(generator, "generator is null"); return generate(initialState, FlowableInternalHelper.simpleBiGenerator(generator), Functions.emptyConsumer()); @@ -2355,8 +2375,8 @@ public static Flowable generate(Supplier initialState, final BiCons @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable generate(Supplier initialState, final BiConsumer> generator, - Consumer disposeState) { + public static Flowable generate(@NonNull Supplier initialState, @NonNull BiConsumer> generator, + @NonNull Consumer disposeState) { Objects.requireNonNull(generator, "generator is null"); return generate(initialState, FlowableInternalHelper.simpleBiGenerator(generator), disposeState); } @@ -2388,7 +2408,8 @@ public static Flowable generate(Supplier initialState, final BiCons @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable generate(Supplier initialState, BiFunction, S> generator) { + @NonNull + public static Flowable generate(@NonNull Supplier initialState, @NonNull BiFunction, S> generator) { return generate(initialState, generator, Functions.emptyConsumer()); } @@ -2422,11 +2443,11 @@ public static Flowable generate(Supplier initialState, BiFunction Flowable generate(Supplier initialState, BiFunction, S> generator, Consumer disposeState) { + public static Flowable generate(@NonNull Supplier initialState, @NonNull BiFunction, S> generator, @NonNull Consumer disposeState) { Objects.requireNonNull(initialState, "initialState is null"); Objects.requireNonNull(generator, "generator is null"); Objects.requireNonNull(disposeState, "disposeState is null"); - return RxJavaPlugins.onAssembly(new FlowableGenerate(initialState, generator, disposeState)); + return RxJavaPlugins.onAssembly(new FlowableGenerate<>(initialState, generator, disposeState)); } /** @@ -2457,7 +2478,8 @@ public static Flowable generate(Supplier initialState, BiFunction interval(long initialDelay, long period, TimeUnit unit) { + @NonNull + public static Flowable interval(long initialDelay, long period, @NonNull TimeUnit unit) { return interval(initialDelay, period, unit, Schedulers.computation()); } @@ -2492,7 +2514,7 @@ public static Flowable interval(long initialDelay, long period, TimeUnit u @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable interval(long initialDelay, long period, TimeUnit unit, Scheduler scheduler) { + public static Flowable interval(long initialDelay, long period, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new FlowableInterval(Math.max(0L, initialDelay), Math.max(0L, period), unit, scheduler)); @@ -2520,7 +2542,8 @@ public static Flowable interval(long initialDelay, long period, TimeUnit u @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public static Flowable interval(long period, TimeUnit unit) { + @NonNull + public static Flowable interval(long period, @NonNull TimeUnit unit) { return interval(period, period, unit, Schedulers.computation()); } @@ -2550,7 +2573,8 @@ public static Flowable interval(long period, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable interval(long period, TimeUnit unit, Scheduler scheduler) { + @NonNull + public static Flowable interval(long period, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return interval(period, period, unit, scheduler); } @@ -2574,7 +2598,8 @@ public static Flowable interval(long period, TimeUnit unit, Scheduler sche @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public static Flowable intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit) { + @NonNull + public static Flowable intervalRange(long start, long count, long initialDelay, long period, @NonNull TimeUnit unit) { return intervalRange(start, count, initialDelay, period, unit, Schedulers.computation()); } @@ -2600,7 +2625,7 @@ public static Flowable intervalRange(long start, long count, long initialD @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable intervalRange(long start, long count, long initialDelay, long period, TimeUnit unit, Scheduler scheduler) { + public static Flowable intervalRange(long start, long count, long initialDelay, long period, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { if (count < 0L) { throw new IllegalArgumentException("count >= 0 required but it was " + count); } @@ -2652,9 +2677,9 @@ public static Flowable intervalRange(long start, long count, long initialD @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item) { + public static <@NonNull T> Flowable just(T item) { Objects.requireNonNull(item, "item is null"); - return RxJavaPlugins.onAssembly(new FlowableJust(item)); + return RxJavaPlugins.onAssembly(new FlowableJust<>(item)); } /** @@ -2681,7 +2706,7 @@ public static Flowable just(T item) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2) { + public static <@NonNull T> Flowable just(T item1, T item2) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); @@ -2714,7 +2739,7 @@ public static Flowable just(T item1, T item2) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2750,7 +2775,7 @@ public static Flowable just(T item1, T item2, T item3) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2789,7 +2814,7 @@ public static Flowable just(T item1, T item2, T item3, T item4) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2831,7 +2856,7 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5) @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5, T item6) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5, T item6) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2876,7 +2901,7 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2924,7 +2949,7 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -2975,7 +3000,7 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -3029,7 +3054,7 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9, T item10) { + public static <@NonNull T> Flowable just(T item1, T item2, T item3, T item4, T item5, T item6, T item7, T item8, T item9, T item10) { Objects.requireNonNull(item1, "item1 is null"); Objects.requireNonNull(item2, "item2 is null"); Objects.requireNonNull(item3, "item3 is null"); @@ -3091,7 +3116,8 @@ public static Flowable just(T item1, T item2, T item3, T item4, T item5, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Iterable> sources, int maxConcurrency, int bufferSize) { + @NonNull + public static Flowable merge(@NonNull Iterable> sources, int maxConcurrency, int bufferSize) { return fromIterable(sources).flatMap((Function)Functions.identity(), false, maxConcurrency, bufferSize); } @@ -3142,7 +3168,9 @@ public static Flowable merge(Iterable> s @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeArray(int maxConcurrency, int bufferSize, Publisher... sources) { + @SafeVarargs + @NonNull + public static Flowable mergeArray(int maxConcurrency, int bufferSize, @NonNull Publisher... sources) { return fromArray(sources).flatMap((Function)Functions.identity(), false, maxConcurrency, bufferSize); } @@ -3186,7 +3214,8 @@ public static Flowable mergeArray(int maxConcurrency, int bufferSize, Pub @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Iterable> sources) { + @NonNull + public static Flowable merge(@NonNull Iterable> sources) { return fromIterable(sources).flatMap((Function)Functions.identity()); } @@ -3235,7 +3264,8 @@ public static Flowable merge(Iterable> s @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Iterable> sources, int maxConcurrency) { + @NonNull + public static Flowable merge(@NonNull Iterable> sources, int maxConcurrency) { return fromIterable(sources).flatMap((Function)Functions.identity(), maxConcurrency); } @@ -3280,7 +3310,8 @@ public static Flowable merge(Iterable> s @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Publisher> sources) { + @NonNull + public static Flowable merge(@NonNull Publisher> sources) { return merge(sources, bufferSize()); } @@ -3331,7 +3362,8 @@ public static Flowable merge(Publisher> @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Publisher> sources, int maxConcurrency) { + @NonNull + public static Flowable merge(@NonNull Publisher> sources, int maxConcurrency) { return fromPublisher(sources).flatMap((Function)Functions.identity(), maxConcurrency); } @@ -3374,7 +3406,9 @@ public static Flowable merge(Publisher> @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeArray(Publisher... sources) { + @SafeVarargs + @NonNull + public static Flowable mergeArray(@NonNull Publisher... sources) { return fromArray(sources).flatMap((Function)Functions.identity(), sources.length); } @@ -3420,7 +3454,7 @@ public static Flowable mergeArray(Publisher... sources) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Publisher source1, Publisher source2) { + public static Flowable merge(@NonNull Publisher source1, @NonNull Publisher source2) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return fromArray(source1, source2).flatMap((Function)Functions.identity(), false, 2); @@ -3470,7 +3504,7 @@ public static Flowable merge(Publisher source1, Publisher Flowable merge(Publisher source1, Publisher source2, Publisher source3) { + public static Flowable merge(@NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -3524,8 +3558,8 @@ public static Flowable merge(Publisher source1, Publisher Flowable merge( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -3565,7 +3599,8 @@ public static Flowable merge( @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Iterable> sources) { + @NonNull + public static Flowable mergeDelayError(@NonNull Iterable> sources) { return fromIterable(sources).flatMap((Function)Functions.identity(), true); } @@ -3605,7 +3640,8 @@ public static Flowable mergeDelayError(Iterable Flowable mergeDelayError(Iterable> sources, int maxConcurrency, int bufferSize) { + @NonNull + public static Flowable mergeDelayError(@NonNull Iterable> sources, int maxConcurrency, int bufferSize) { return fromIterable(sources).flatMap((Function)Functions.identity(), true, maxConcurrency, bufferSize); } @@ -3645,7 +3681,9 @@ public static Flowable mergeDelayError(Iterable Flowable mergeArrayDelayError(int maxConcurrency, int bufferSize, Publisher... sources) { + @SafeVarargs + @NonNull + public static Flowable mergeArrayDelayError(int maxConcurrency, int bufferSize, @NonNull Publisher... sources) { return fromArray(sources).flatMap((Function)Functions.identity(), true, maxConcurrency, bufferSize); } @@ -3683,7 +3721,8 @@ public static Flowable mergeArrayDelayError(int maxConcurrency, int buffe @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Iterable> sources, int maxConcurrency) { + @NonNull + public static Flowable mergeDelayError(@NonNull Iterable> sources, int maxConcurrency) { return fromIterable(sources).flatMap((Function)Functions.identity(), true, maxConcurrency); } @@ -3719,7 +3758,8 @@ public static Flowable mergeDelayError(Iterable Flowable mergeDelayError(Publisher> sources) { + @NonNull + public static Flowable mergeDelayError(@NonNull Publisher> sources) { return mergeDelayError(sources, bufferSize()); } @@ -3759,7 +3799,8 @@ public static Flowable mergeDelayError(Publisher Flowable mergeDelayError(Publisher> sources, int maxConcurrency) { + @NonNull + public static Flowable mergeDelayError(@NonNull Publisher> sources, int maxConcurrency) { return fromPublisher(sources).flatMap((Function)Functions.identity(), true, maxConcurrency); } @@ -3795,7 +3836,9 @@ public static Flowable mergeDelayError(Publisher Flowable mergeArrayDelayError(Publisher... sources) { + @SafeVarargs + @NonNull + public static Flowable mergeArrayDelayError(@NonNull Publisher... sources) { return fromArray(sources).flatMap((Function)Functions.identity(), true, sources.length); } @@ -3833,7 +3876,7 @@ public static Flowable mergeArrayDelayError(Publisher... sou @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Publisher source1, Publisher source2) { + public static Flowable mergeDelayError(@NonNull Publisher source1, @NonNull Publisher source2) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return fromArray(source1, source2).flatMap((Function)Functions.identity(), true, 2); @@ -3876,7 +3919,7 @@ public static Flowable mergeDelayError(Publisher source1, Pu @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Publisher source1, Publisher source2, Publisher source3) { + public static Flowable mergeDelayError(@NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -3923,8 +3966,8 @@ public static Flowable mergeDelayError(Publisher source1, Pu @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable mergeDelayError( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -3954,6 +3997,7 @@ public static Flowable mergeDelayError( @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public static Flowable never() { return RxJavaPlugins.onAssembly((Flowable) FlowableNever.INSTANCE); } @@ -3982,6 +4026,7 @@ public static Flowable never() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public static Flowable range(int start, int count) { if (count < 0) { throw new IllegalArgumentException("count >= 0 required but it was " + count); @@ -4022,6 +4067,7 @@ public static Flowable range(int start, int count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public static Flowable rangeLong(long start, long count) { if (count < 0) { throw new IllegalArgumentException("count >= 0 required but it was " + count); @@ -4068,7 +4114,8 @@ public static Flowable rangeLong(long start, long count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(Publisher source1, Publisher source2) { + @NonNull + public static Single sequenceEqual(@NonNull Publisher source1, @NonNull Publisher source2) { return sequenceEqual(source1, source2, ObjectHelper.equalsPredicate(), bufferSize()); } @@ -4101,8 +4148,9 @@ public static Single sequenceEqual(Publisher source1, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(Publisher source1, Publisher source2, - BiPredicate isEqual) { + @NonNull + public static Single sequenceEqual(@NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiPredicate isEqual) { return sequenceEqual(source1, source2, isEqual, bufferSize()); } @@ -4138,13 +4186,13 @@ public static Single sequenceEqual(Publisher source1, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(Publisher source1, Publisher source2, - BiPredicate isEqual, int bufferSize) { + public static Single sequenceEqual(@NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiPredicate isEqual, int bufferSize) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(isEqual, "isEqual is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableSequenceEqualSingle(source1, source2, isEqual, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableSequenceEqualSingle<>(source1, source2, isEqual, bufferSize)); } /** @@ -4174,7 +4222,8 @@ public static Single sequenceEqual(Publisher source1, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(Publisher source1, Publisher source2, int bufferSize) { + @NonNull + public static Single sequenceEqual(@NonNull Publisher source1, @NonNull Publisher source2, int bufferSize) { return sequenceEqual(source1, source2, ObjectHelper.equalsPredicate(), bufferSize); } @@ -4214,7 +4263,8 @@ public static Single sequenceEqual(Publisher source1, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable switchOnNext(Publisher> sources, int bufferSize) { + @NonNull + public static Flowable switchOnNext(@NonNull Publisher> sources, int bufferSize) { return fromPublisher(sources).switchMap((Function)Functions.identity(), bufferSize); } @@ -4252,7 +4302,8 @@ public static Flowable switchOnNext(Publisher Flowable switchOnNext(Publisher> sources) { + @NonNull + public static Flowable switchOnNext(@NonNull Publisher> sources) { return fromPublisher(sources).switchMap((Function)Functions.identity()); } @@ -4291,7 +4342,8 @@ public static Flowable switchOnNext(Publisher Flowable switchOnNextDelayError(Publisher> sources) { + @NonNull + public static Flowable switchOnNextDelayError(@NonNull Publisher> sources) { return switchOnNextDelayError(sources, bufferSize()); } @@ -4332,7 +4384,8 @@ public static Flowable switchOnNextDelayError(Publisher Flowable switchOnNextDelayError(Publisher> sources, int prefetch) { + @NonNull + public static Flowable switchOnNextDelayError(@NonNull Publisher> sources, int prefetch) { return fromPublisher(sources).switchMapDelayError(Functions.>identity(), prefetch); } @@ -4358,7 +4411,8 @@ public static Flowable switchOnNextDelayError(Publisher timer(long delay, TimeUnit unit) { + @NonNull + public static Flowable timer(long delay, @NonNull TimeUnit unit) { return timer(delay, unit, Schedulers.computation()); } @@ -4389,7 +4443,7 @@ public static Flowable timer(long delay, TimeUnit unit) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Flowable timer(long delay, TimeUnit unit, Scheduler scheduler) { + public static Flowable timer(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -4418,12 +4472,12 @@ public static Flowable timer(long delay, TimeUnit unit, Scheduler schedule @NonNull @BackpressureSupport(BackpressureKind.NONE) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable unsafeCreate(Publisher onSubscribe) { + public static Flowable unsafeCreate(@NonNull Publisher onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); if (onSubscribe instanceof Flowable) { throw new IllegalArgumentException("unsafeCreate(Flowable) should be upgraded"); } - return RxJavaPlugins.onAssembly(new FlowableFromPublisher(onSubscribe)); + return RxJavaPlugins.onAssembly(new FlowableFromPublisher<>(onSubscribe)); } /** @@ -4452,8 +4506,11 @@ public static Flowable unsafeCreate(Publisher onSubscribe) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable using(Supplier resourceSupplier, - Function> sourceSupplier, Consumer resourceDisposer) { + @NonNull + public static Flowable using( + @NonNull Supplier resourceSupplier, + @NonNull Function> sourceSupplier, + @NonNull Consumer resourceDisposer) { return using(resourceSupplier, sourceSupplier, resourceDisposer, true); } @@ -4494,9 +4551,11 @@ public static Flowable using(Supplier resourceSupplier, @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable using(Supplier resourceSupplier, - Function> sourceSupplier, - Consumer resourceDisposer, boolean eager) { + public static Flowable using( + @NonNull Supplier resourceSupplier, + @NonNull Function> sourceSupplier, + @NonNull Consumer resourceDisposer, + boolean eager) { Objects.requireNonNull(resourceSupplier, "resourceSupplier is null"); Objects.requireNonNull(sourceSupplier, "sourceSupplier is null"); Objects.requireNonNull(resourceDisposer, "resourceDisposer is null"); @@ -4551,7 +4610,7 @@ public static Flowable using(Supplier resourceSupplier, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable zip(Iterable> sources, Function zipper) { + public static Flowable zip(@NonNull Iterable> sources, @NonNull Function zipper) { Objects.requireNonNull(zipper, "zipper is null"); Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new FlowableZip(null, sources, zipper, bufferSize(), false)); @@ -4610,8 +4669,8 @@ public static Flowable zip(Iterable> @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable zip(Iterable> sources, - Function zipper, boolean delayError, + public static Flowable zip(@NonNull Iterable> sources, + @NonNull Function zipper, boolean delayError, int bufferSize) { Objects.requireNonNull(zipper, "zipper is null"); Objects.requireNonNull(sources, "sources is null"); @@ -4672,8 +4731,8 @@ public static Flowable zip(Iterable> @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, - BiFunction zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiFunction zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return zipArray(Functions.toFunction(zipper), false, bufferSize(), source1, source2); @@ -4733,8 +4792,8 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, - BiFunction zipper, boolean delayError) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiFunction zipper, boolean delayError) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return zipArray(Functions.toFunction(zipper), delayError, bufferSize(), source1, source2); @@ -4795,8 +4854,8 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, - BiFunction zipper, boolean delayError, int bufferSize) { + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull BiFunction zipper, boolean delayError, int bufferSize) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return zipArray(Functions.toFunction(zipper), delayError, bufferSize, source1, source2); @@ -4859,8 +4918,8 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Function3 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Function3 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -4927,9 +4986,9 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, - Function4 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, + @NonNull Function4 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -5000,9 +5059,9 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, Publisher source5, - Function5 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, @NonNull Publisher source5, + @NonNull Function5 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -5076,9 +5135,9 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, Publisher source5, Publisher source6, - Function6 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Function6 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -5156,10 +5215,10 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, Publisher source5, Publisher source6, - Publisher source7, - Function7 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, + @NonNull Function7 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -5241,10 +5300,10 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, Publisher source5, Publisher source6, - Publisher source7, Publisher source8, - Function8 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, @NonNull Publisher source8, + @NonNull Function8 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -5330,10 +5389,10 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public static Flowable zip( - Publisher source1, Publisher source2, Publisher source3, - Publisher source4, Publisher source5, Publisher source6, - Publisher source7, Publisher source8, Publisher source9, - Function9 zipper) { + @NonNull Publisher source1, @NonNull Publisher source2, @NonNull Publisher source3, + @NonNull Publisher source4, @NonNull Publisher source5, @NonNull Publisher source6, + @NonNull Publisher source7, @NonNull Publisher source8, @NonNull Publisher source9, + @NonNull Function9 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -5401,8 +5460,8 @@ public static Flowable zip( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SafeVarargs - public static Flowable zipArray(Function zipper, - boolean delayError, int bufferSize, Publisher... sources) { + public static Flowable zipArray(@NonNull Function zipper, + boolean delayError, int bufferSize, @NonNull Publisher... sources) { if (sources.length == 0) { return empty(); } @@ -5438,9 +5497,9 @@ public static Flowable zipArray(Function all(Predicate predicate) { + public final Single all(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableAllSingle(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableAllSingle<>(this, predicate)); } /** @@ -5467,7 +5526,7 @@ public final Single all(Predicate predicate) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable ambWith(Publisher other) { + public final Flowable ambWith(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return ambArray(this, other); } @@ -5499,9 +5558,9 @@ public final Flowable ambWith(Publisher other) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single any(Predicate predicate) { + public final Single any(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableAnySingle(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableAnySingle<>(this, predicate)); } /** @@ -5527,8 +5586,9 @@ public final Single any(Predicate predicate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final T blockingFirst() { - BlockingFirstSubscriber s = new BlockingFirstSubscriber(); + BlockingFirstSubscriber s = new BlockingFirstSubscriber<>(); subscribe(s); T v = s.blockingGet(); if (v != null) { @@ -5561,8 +5621,9 @@ public final T blockingFirst() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final T blockingFirst(T defaultItem) { - BlockingFirstSubscriber s = new BlockingFirstSubscriber(); + @NonNull + public final T blockingFirst(@NonNull T defaultItem) { + BlockingFirstSubscriber s = new BlockingFirstSubscriber<>(); subscribe(s); T v = s.blockingGet(); return v != null ? v : defaultItem; @@ -5602,7 +5663,7 @@ public final T blockingFirst(T defaultItem) { */ @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final void blockingForEach(Consumer onNext) { + public final void blockingForEach(@NonNull Consumer onNext) { Iterator it = blockingIterable().iterator(); while (it.hasNext()) { try { @@ -5633,6 +5694,7 @@ public final void blockingForEach(Consumer onNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Iterable blockingIterable() { return blockingIterable(bufferSize()); } @@ -5657,9 +5719,10 @@ public final Iterable blockingIterable() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Iterable blockingIterable(int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return new BlockingFlowableIterable(this, bufferSize); + return new BlockingFlowableIterable<>(this, bufferSize); } /** @@ -5687,8 +5750,9 @@ public final Iterable blockingIterable(int bufferSize) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final T blockingLast() { - BlockingLastSubscriber s = new BlockingLastSubscriber(); + BlockingLastSubscriber s = new BlockingLastSubscriber<>(); subscribe(s); T v = s.blockingGet(); if (v != null) { @@ -5723,8 +5787,9 @@ public final T blockingLast() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final T blockingLast(T defaultItem) { - BlockingLastSubscriber s = new BlockingLastSubscriber(); + @NonNull + public final T blockingLast(@NonNull T defaultItem) { + BlockingLastSubscriber s = new BlockingLastSubscriber<>(); subscribe(s); T v = s.blockingGet(); return v != null ? v : defaultItem; @@ -5753,8 +5818,9 @@ public final T blockingLast(T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Iterable blockingLatest() { - return new BlockingFlowableLatest(this); + return new BlockingFlowableLatest<>(this); } /** @@ -5780,8 +5846,9 @@ public final Iterable blockingLatest() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Iterable blockingMostRecent(T initialItem) { - return new BlockingFlowableMostRecent(this, initialItem); + @NonNull + public final Iterable blockingMostRecent(@NonNull T initialItem) { + return new BlockingFlowableMostRecent<>(this, initialItem); } /** @@ -5804,8 +5871,9 @@ public final Iterable blockingMostRecent(T initialItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Iterable blockingNext() { - return new BlockingFlowableNext(this); + return new BlockingFlowableNext<>(this); } /** @@ -5831,6 +5899,7 @@ public final Iterable blockingNext() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final T blockingSingle() { return singleOrError().blockingGet(); } @@ -5862,7 +5931,8 @@ public final T blockingSingle() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final T blockingSingle(T defaultItem) { + @NonNull + public final T blockingSingle(@NonNull T defaultItem) { return single(defaultItem).blockingGet(); } @@ -5891,6 +5961,7 @@ public final T blockingSingle(T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Future toFuture() { return subscribeWith(new FutureSubscriber()); } @@ -5945,7 +6016,7 @@ public final void blockingSubscribe() { */ @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final void blockingSubscribe(Consumer onNext) { + public final void blockingSubscribe(@NonNull Consumer onNext) { FlowableBlockingSubscribe.subscribe(this, onNext, Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -5977,7 +6048,7 @@ public final void blockingSubscribe(Consumer onNext) { */ @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final void blockingSubscribe(Consumer onNext, int bufferSize) { + public final void blockingSubscribe(@NonNull Consumer onNext, int bufferSize) { FlowableBlockingSubscribe.subscribe(this, onNext, Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION, bufferSize); } @@ -6001,7 +6072,7 @@ public final void blockingSubscribe(Consumer onNext, int bufferSize) */ @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final void blockingSubscribe(Consumer onNext, Consumer onError) { + public final void blockingSubscribe(@NonNull Consumer onNext, @NonNull Consumer onError) { FlowableBlockingSubscribe.subscribe(this, onNext, onError, Functions.EMPTY_ACTION); } @@ -6027,7 +6098,7 @@ public final void blockingSubscribe(Consumer onNext, Consumer onNext, Consumer onError, + public final void blockingSubscribe(@NonNull Consumer onNext, @NonNull Consumer onError, int bufferSize) { FlowableBlockingSubscribe.subscribe(this, onNext, onError, Functions.EMPTY_ACTION, bufferSize); } @@ -6052,7 +6123,7 @@ public final void blockingSubscribe(Consumer onNext, Consumer onNext, Consumer onError, Action onComplete) { + public final void blockingSubscribe(@NonNull Consumer onNext, @NonNull Consumer onError, @NonNull Action onComplete) { FlowableBlockingSubscribe.subscribe(this, onNext, onError, onComplete); } @@ -6078,7 +6149,7 @@ public final void blockingSubscribe(Consumer onNext, Consumer onNext, Consumer onError, Action onComplete, + public final void blockingSubscribe(@NonNull Consumer onNext, @NonNull Consumer onError, @NonNull Action onComplete, int bufferSize) { FlowableBlockingSubscribe.subscribe(this, onNext, onError, onComplete, bufferSize); } @@ -6103,7 +6174,7 @@ public final void blockingSubscribe(Consumer onNext, Consumer subscriber) { + public final void blockingSubscribe(@NonNull Subscriber subscriber) { FlowableBlockingSubscribe.subscribe(this, subscriber); } @@ -6133,6 +6204,7 @@ public final void blockingSubscribe(Subscriber subscriber) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> buffer(int count) { return buffer(count, count); } @@ -6167,6 +6239,7 @@ public final Flowable> buffer(int count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> buffer(int count, int skip) { return buffer(count, skip, ArrayListSupplier.asSupplier()); } @@ -6206,11 +6279,11 @@ public final Flowable> buffer(int count, int skip) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final > Flowable buffer(int count, int skip, Supplier bufferSupplier) { + public final > Flowable buffer(int count, int skip, @NonNull Supplier bufferSupplier) { ObjectHelper.verifyPositive(count, "count"); ObjectHelper.verifyPositive(skip, "skip"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableBuffer(this, count, skip, bufferSupplier)); + return RxJavaPlugins.onAssembly(new FlowableBuffer<>(this, count, skip, bufferSupplier)); } /** @@ -6243,7 +6316,8 @@ public final > Flowable buffer(int count, int @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final > Flowable buffer(int count, Supplier bufferSupplier) { + @NonNull + public final > Flowable buffer(int count, @NonNull Supplier bufferSupplier) { return buffer(count, count, bufferSupplier); } @@ -6277,7 +6351,8 @@ public final > Flowable buffer(int count, Sup @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> buffer(long timespan, long timeskip, TimeUnit unit) { + @NonNull + public final Flowable> buffer(long timespan, long timeskip, @NonNull TimeUnit unit) { return buffer(timespan, timeskip, unit, Schedulers.computation(), ArrayListSupplier.asSupplier()); } @@ -6314,7 +6389,8 @@ public final Flowable> buffer(long timespan, long timeskip, TimeUnit uni @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> buffer(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable> buffer(long timespan, long timeskip, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return buffer(timespan, timeskip, unit, scheduler, ArrayListSupplier.asSupplier()); } @@ -6356,12 +6432,12 @@ public final Flowable> buffer(long timespan, long timeskip, TimeUnit uni @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final > Flowable buffer(long timespan, long timeskip, TimeUnit unit, - Scheduler scheduler, Supplier bufferSupplier) { + public final > Flowable buffer(long timespan, long timeskip, @NonNull TimeUnit unit, + @NonNull Scheduler scheduler, @NonNull Supplier bufferSupplier) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableBufferTimed(this, timespan, timeskip, unit, scheduler, bufferSupplier, Integer.MAX_VALUE, false)); + return RxJavaPlugins.onAssembly(new FlowableBufferTimed<>(this, timespan, timeskip, unit, scheduler, bufferSupplier, Integer.MAX_VALUE, false)); } /** @@ -6393,7 +6469,8 @@ public final > Flowable buffer(long timespan, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> buffer(long timespan, TimeUnit unit) { + @NonNull + public final Flowable> buffer(long timespan, @NonNull TimeUnit unit) { return buffer(timespan, unit, Schedulers.computation(), Integer.MAX_VALUE); } @@ -6429,7 +6506,8 @@ public final Flowable> buffer(long timespan, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> buffer(long timespan, TimeUnit unit, int count) { + @NonNull + public final Flowable> buffer(long timespan, @NonNull TimeUnit unit, int count) { return buffer(timespan, unit, Schedulers.computation(), count); } @@ -6468,7 +6546,8 @@ public final Flowable> buffer(long timespan, TimeUnit unit, int count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> buffer(long timespan, TimeUnit unit, Scheduler scheduler, int count) { + @NonNull + public final Flowable> buffer(long timespan, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, int count) { return buffer(timespan, unit, scheduler, count, ArrayListSupplier.asSupplier(), false); } @@ -6513,16 +6592,17 @@ public final Flowable> buffer(long timespan, TimeUnit unit, Scheduler sc @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) + @NonNull public final > Flowable buffer( - long timespan, TimeUnit unit, - Scheduler scheduler, int count, - Supplier bufferSupplier, + long timespan, @NonNull TimeUnit unit, + @NonNull Scheduler scheduler, int count, + @NonNull Supplier bufferSupplier, boolean restartTimerOnMaxSize) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); ObjectHelper.verifyPositive(count, "count"); - return RxJavaPlugins.onAssembly(new FlowableBufferTimed(this, timespan, timespan, unit, scheduler, bufferSupplier, count, restartTimerOnMaxSize)); + return RxJavaPlugins.onAssembly(new FlowableBufferTimed<>(this, timespan, timespan, unit, scheduler, bufferSupplier, count, restartTimerOnMaxSize)); } /** @@ -6556,7 +6636,8 @@ public final > Flowable buffer( @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> buffer(long timespan, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable> buffer(long timespan, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return buffer(timespan, unit, scheduler, Integer.MAX_VALUE, ArrayListSupplier.asSupplier(), false); } @@ -6590,9 +6671,10 @@ public final Flowable> buffer(long timespan, TimeUnit unit, Scheduler sc @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> buffer( - Flowable openingIndicator, - Function> closingIndicator) { + @NonNull Flowable openingIndicator, + @NonNull Function> closingIndicator) { return buffer(openingIndicator, closingIndicator, ArrayListSupplier.asSupplier()); } @@ -6630,10 +6712,11 @@ public final Flowable> buffer( @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final > Flowable buffer( - Flowable openingIndicator, - Function> closingIndicator, - Supplier bufferSupplier) { + @NonNull Flowable openingIndicator, + @NonNull Function> closingIndicator, + @NonNull Supplier bufferSupplier) { Objects.requireNonNull(openingIndicator, "openingIndicator is null"); Objects.requireNonNull(closingIndicator, "closingIndicator is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); @@ -6670,7 +6753,8 @@ public final > Flowable b @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> buffer(Publisher boundaryIndicator) { + @NonNull + public final Flowable> buffer(@NonNull Publisher boundaryIndicator) { return buffer(boundaryIndicator, ArrayListSupplier.asSupplier()); } @@ -6706,7 +6790,8 @@ public final Flowable> buffer(Publisher boundaryIndicator) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> buffer(Publisher boundaryIndicator, final int initialCapacity) { + @NonNull + public final Flowable> buffer(@NonNull Publisher boundaryIndicator, final int initialCapacity) { ObjectHelper.verifyPositive(initialCapacity, "initialCapacity"); return buffer(boundaryIndicator, Functions.createArrayList(initialCapacity)); } @@ -6745,10 +6830,11 @@ public final Flowable> buffer(Publisher boundaryIndicator, final @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final > Flowable buffer(Publisher boundaryIndicator, Supplier bufferSupplier) { + @NonNull + public final > Flowable buffer(@NonNull Publisher boundaryIndicator, @NonNull Supplier bufferSupplier) { Objects.requireNonNull(boundaryIndicator, "boundaryIndicator is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableBufferExactBoundary(this, boundaryIndicator, bufferSupplier)); + return RxJavaPlugins.onAssembly(new FlowableBufferExactBoundary<>(this, boundaryIndicator, bufferSupplier)); } /** @@ -6805,6 +6891,7 @@ public final > Flowable buffer(Publisher cache() { return cacheWithInitialCapacity(16); } @@ -6867,9 +6954,10 @@ public final Flowable cache() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable cacheWithInitialCapacity(int initialCapacity) { ObjectHelper.verifyPositive(initialCapacity, "initialCapacity"); - return RxJavaPlugins.onAssembly(new FlowableCache(this, initialCapacity)); + return RxJavaPlugins.onAssembly(new FlowableCache<>(this, initialCapacity)); } /** @@ -6897,7 +6985,7 @@ public final Flowable cacheWithInitialCapacity(int initialCapacity) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable cast(final Class clazz) { + public final Flowable cast(@NonNull Class clazz) { Objects.requireNonNull(clazz, "clazz is null"); return map(Functions.castFunction(clazz)); } @@ -6936,7 +7024,7 @@ public final Flowable cast(final Class clazz) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single collect(Supplier initialItemSupplier, BiConsumer collector) { + public final Single collect(@NonNull Supplier initialItemSupplier, @NonNull BiConsumer collector) { Objects.requireNonNull(initialItemSupplier, "initialItemSupplier is null"); Objects.requireNonNull(collector, "collector is null"); return RxJavaPlugins.onAssembly(new FlowableCollectSingle(this, initialItemSupplier, collector)); @@ -6975,7 +7063,7 @@ public final Single collect(Supplier initialItemSupplier, Bi @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single collectInto(final U initialItem, BiConsumer collector) { + public final <@NonNull U> Single collectInto(U initialItem, @NonNull BiConsumer collector) { Objects.requireNonNull(initialItem, "initialItem is null"); return collect(Functions.justSupplier(initialItem), collector); } @@ -7006,7 +7094,8 @@ public final Single collectInto(final U initialItem, BiConsumer Flowable compose(FlowableTransformer composer) { + @NonNull + public final Flowable compose(@NonNull FlowableTransformer composer) { return fromPublisher(((FlowableTransformer) Objects.requireNonNull(composer, "composer is null")).apply(this)); } @@ -7042,7 +7131,8 @@ public final Flowable compose(FlowableTransformer @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable concatMap(Function> mapper) { + @NonNull + public final Flowable concatMap(@NonNull Function> mapper) { return concatMap(mapper, 2); } @@ -7082,7 +7172,7 @@ public final Flowable concatMap(Function Flowable concatMap(Function> mapper, int prefetch) { + public final Flowable concatMap(@NonNull Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); if (this instanceof ScalarSupplier) { @@ -7093,7 +7183,7 @@ public final Flowable concatMap(Function(this, mapper, prefetch, ErrorMode.IMMEDIATE)); + return RxJavaPlugins.onAssembly(new FlowableConcatMap<>(this, mapper, prefetch, ErrorMode.IMMEDIATE)); } /** @@ -7135,11 +7225,11 @@ public final Flowable concatMap(Function Flowable concatMap(Function> mapper, int prefetch, Scheduler scheduler) { + public final Flowable concatMap(@NonNull Function> mapper, int prefetch, @NonNull Scheduler scheduler) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); Objects.requireNonNull(scheduler, "scheduler"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapScheduler(this, mapper, prefetch, ErrorMode.IMMEDIATE, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapScheduler<>(this, mapper, prefetch, ErrorMode.IMMEDIATE, scheduler)); } /** @@ -7165,7 +7255,8 @@ public final Flowable concatMap(Function mapper) { + @NonNull + public final Completable concatMapCompletable(@NonNull Function mapper) { return concatMapCompletable(mapper, 2); } @@ -7197,10 +7288,10 @@ public final Completable concatMapCompletable(Function mapper, int prefetch) { + public final Completable concatMapCompletable(@NonNull Function mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapCompletable(this, mapper, ErrorMode.IMMEDIATE, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapCompletable<>(this, mapper, ErrorMode.IMMEDIATE, prefetch)); } /** @@ -7227,7 +7318,8 @@ public final Completable concatMapCompletable(Function mapper) { + @NonNull + public final Completable concatMapCompletableDelayError(@NonNull Function mapper) { return concatMapCompletableDelayError(mapper, true, 2); } @@ -7261,7 +7353,8 @@ public final Completable concatMapCompletableDelayError(Function mapper, boolean tillTheEnd) { + @NonNull + public final Completable concatMapCompletableDelayError(@NonNull Function mapper, boolean tillTheEnd) { return concatMapCompletableDelayError(mapper, tillTheEnd, 2); } @@ -7300,10 +7393,10 @@ public final Completable concatMapCompletableDelayError(Function mapper, boolean tillTheEnd, int prefetch) { + public final Completable concatMapCompletableDelayError(@NonNull Function mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapCompletable(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapCompletable<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -7334,7 +7427,8 @@ public final Completable concatMapCompletableDelayError(Function Flowable concatMapDelayError(Function> mapper) { + @NonNull + public final Flowable concatMapDelayError(@NonNull Function> mapper) { return concatMapDelayError(mapper, true, 2); } @@ -7373,7 +7467,7 @@ public final Flowable concatMapDelayError(Function Flowable concatMapDelayError(Function> mapper, + public final Flowable concatMapDelayError(@NonNull Function> mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); @@ -7385,7 +7479,7 @@ public final Flowable concatMapDelayError(Function(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); + return RxJavaPlugins.onAssembly(new FlowableConcatMap<>(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); } /** @@ -7425,12 +7519,12 @@ public final Flowable concatMapDelayError(Function Flowable concatMapDelayError(Function> mapper, - boolean tillTheEnd, int prefetch, Scheduler scheduler) { + public final Flowable concatMapDelayError(@NonNull Function> mapper, + boolean tillTheEnd, int prefetch, @NonNull Scheduler scheduler) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapScheduler(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapScheduler<>(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, scheduler)); } /** @@ -7456,7 +7550,8 @@ public final Flowable concatMapDelayError(Function Flowable concatMapEager(Function> mapper) { + @NonNull + public final Flowable concatMapEager(@NonNull Function> mapper) { return concatMapEager(mapper, bufferSize(), bufferSize()); } @@ -7486,12 +7581,12 @@ public final Flowable concatMapEager(Function Flowable concatMapEager(Function> mapper, + public final Flowable concatMapEager(@NonNull Function> mapper, int maxConcurrency, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapEager(this, mapper, maxConcurrency, prefetch, ErrorMode.IMMEDIATE)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapEager<>(this, mapper, maxConcurrency, prefetch, ErrorMode.IMMEDIATE)); } /** @@ -7520,7 +7615,8 @@ public final Flowable concatMapEager(Function Flowable concatMapEagerDelayError(Function> mapper, + @NonNull + public final Flowable concatMapEagerDelayError(@NonNull Function> mapper, boolean tillTheEnd) { return concatMapEagerDelayError(mapper, tillTheEnd, bufferSize(), bufferSize()); } @@ -7556,12 +7652,12 @@ public final Flowable concatMapEagerDelayError(Function Flowable concatMapEagerDelayError(Function> mapper, + public final Flowable concatMapEagerDelayError(@NonNull Function> mapper, boolean tillTheEnd, int maxConcurrency, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapEager(this, mapper, maxConcurrency, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapEager<>(this, mapper, maxConcurrency, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); } /** @@ -7589,7 +7685,8 @@ public final Flowable concatMapEagerDelayError(Function Flowable concatMapIterable(Function> mapper) { + @NonNull + public final Flowable concatMapIterable(@NonNull Function> mapper) { return concatMapIterable(mapper, 2); } @@ -7621,10 +7718,10 @@ public final Flowable concatMapIterable(Function Flowable concatMapIterable(final Function> mapper, int prefetch) { + public final Flowable concatMapIterable(@NonNull Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableFlattenIterable(this, mapper, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableFlattenIterable<>(this, mapper, prefetch)); } /** @@ -7654,7 +7751,8 @@ public final Flowable concatMapIterable(final Function Flowable concatMapMaybe(Function> mapper) { + @NonNull + public final Flowable concatMapMaybe(@NonNull Function> mapper) { return concatMapMaybe(mapper, 2); } @@ -7690,10 +7788,10 @@ public final Flowable concatMapMaybe(Function Flowable concatMapMaybe(Function> mapper, int prefetch) { + public final Flowable concatMapMaybe(@NonNull Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapMaybe(this, mapper, ErrorMode.IMMEDIATE, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapMaybe<>(this, mapper, ErrorMode.IMMEDIATE, prefetch)); } /** @@ -7723,7 +7821,8 @@ public final Flowable concatMapMaybe(Function Flowable concatMapMaybeDelayError(Function> mapper) { + @NonNull + public final Flowable concatMapMaybeDelayError(@NonNull Function> mapper) { return concatMapMaybeDelayError(mapper, true, 2); } @@ -7760,7 +7859,8 @@ public final Flowable concatMapMaybeDelayError(Function Flowable concatMapMaybeDelayError(Function> mapper, boolean tillTheEnd) { + @NonNull + public final Flowable concatMapMaybeDelayError(@NonNull Function> mapper, boolean tillTheEnd) { return concatMapMaybeDelayError(mapper, tillTheEnd, 2); } @@ -7801,10 +7901,10 @@ public final Flowable concatMapMaybeDelayError(Function Flowable concatMapMaybeDelayError(Function> mapper, boolean tillTheEnd, int prefetch) { + public final Flowable concatMapMaybeDelayError(@NonNull Function> mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapMaybe(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapMaybe<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -7834,7 +7934,8 @@ public final Flowable concatMapMaybeDelayError(Function Flowable concatMapSingle(Function> mapper) { + @NonNull + public final Flowable concatMapSingle(@NonNull Function> mapper) { return concatMapSingle(mapper, 2); } @@ -7870,10 +7971,10 @@ public final Flowable concatMapSingle(Function Flowable concatMapSingle(Function> mapper, int prefetch) { + public final Flowable concatMapSingle(@NonNull Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapSingle(this, mapper, ErrorMode.IMMEDIATE, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapSingle<>(this, mapper, ErrorMode.IMMEDIATE, prefetch)); } /** @@ -7903,7 +8004,8 @@ public final Flowable concatMapSingle(Function Flowable concatMapSingleDelayError(Function> mapper) { + @NonNull + public final Flowable concatMapSingleDelayError(@NonNull Function> mapper) { return concatMapSingleDelayError(mapper, true, 2); } @@ -7940,7 +8042,8 @@ public final Flowable concatMapSingleDelayError(Function Flowable concatMapSingleDelayError(Function> mapper, boolean tillTheEnd) { + @NonNull + public final Flowable concatMapSingleDelayError(@NonNull Function> mapper, boolean tillTheEnd) { return concatMapSingleDelayError(mapper, tillTheEnd, 2); } @@ -7981,10 +8084,10 @@ public final Flowable concatMapSingleDelayError(Function Flowable concatMapSingleDelayError(Function> mapper, boolean tillTheEnd, int prefetch) { + public final Flowable concatMapSingleDelayError(@NonNull Function> mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowableConcatMapSingle(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new FlowableConcatMapSingle<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -8011,7 +8114,7 @@ public final Flowable concatMapSingleDelayError(Function concatWith(Publisher other) { + public final Flowable concatWith(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return concat(this, other); } @@ -8036,9 +8139,10 @@ public final Flowable concatWith(Publisher other) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable concatWith(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableConcatWithSingle(this, other)); + return RxJavaPlugins.onAssembly(new FlowableConcatWithSingle<>(this, other)); } /** @@ -8061,9 +8165,10 @@ public final Flowable concatWith(@NonNull SingleSource other) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable concatWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableConcatWithMaybe(this, other)); + return RxJavaPlugins.onAssembly(new FlowableConcatWithMaybe<>(this, other)); } /** @@ -8088,9 +8193,10 @@ public final Flowable concatWith(@NonNull MaybeSource other) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable concatWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableConcatWithCompletable(this, other)); + return RxJavaPlugins.onAssembly(new FlowableConcatWithCompletable<>(this, other)); } /** @@ -8116,7 +8222,7 @@ public final Flowable concatWith(@NonNull CompletableSource other) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single contains(final Object item) { + public final Single contains(@NonNull Object item) { Objects.requireNonNull(item, "item is null"); return any(Functions.equalsWith(item)); } @@ -8141,8 +8247,9 @@ public final Single contains(final Object item) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single count() { - return RxJavaPlugins.onAssembly(new FlowableCountSingle(this)); + return RxJavaPlugins.onAssembly(new FlowableCountSingle<>(this)); } /** @@ -8179,9 +8286,9 @@ public final Single count() { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable debounce(Function> debounceIndicator) { + public final Flowable debounce(@NonNull Function> debounceIndicator) { Objects.requireNonNull(debounceIndicator, "debounceIndicator is null"); - return RxJavaPlugins.onAssembly(new FlowableDebounce(this, debounceIndicator)); + return RxJavaPlugins.onAssembly(new FlowableDebounce<>(this, debounceIndicator)); } /** @@ -8222,7 +8329,8 @@ public final Flowable debounce(Function @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable debounce(long timeout, TimeUnit unit) { + @NonNull + public final Flowable debounce(long timeout, @NonNull TimeUnit unit) { return debounce(timeout, unit, Schedulers.computation()); } @@ -8267,10 +8375,10 @@ public final Flowable debounce(long timeout, TimeUnit unit) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable debounce(long timeout, TimeUnit unit, Scheduler scheduler) { + public final Flowable debounce(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableDebounceTimed(this, timeout, unit, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableDebounceTimed<>(this, timeout, unit, scheduler)); } /** @@ -8298,7 +8406,7 @@ public final Flowable debounce(long timeout, TimeUnit unit, Scheduler schedul @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable defaultIfEmpty(T defaultItem) { + public final Flowable defaultIfEmpty(@NonNull T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem is null"); return switchIfEmpty(just(defaultItem)); } @@ -8334,7 +8442,7 @@ public final Flowable defaultIfEmpty(T defaultItem) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable delay(final Function> itemDelayIndicator) { + public final Flowable delay(@NonNull Function> itemDelayIndicator) { Objects.requireNonNull(itemDelayIndicator, "itemDelayIndicator is null"); return flatMap(FlowableInternalHelper.itemDelay(itemDelayIndicator)); } @@ -8361,7 +8469,8 @@ public final Flowable delay(final Function delay(long delay, TimeUnit unit) { + @NonNull + public final Flowable delay(long delay, @NonNull TimeUnit unit) { return delay(delay, unit, Schedulers.computation(), false); } @@ -8390,7 +8499,8 @@ public final Flowable delay(long delay, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable delay(long delay, TimeUnit unit, boolean delayError) { + @NonNull + public final Flowable delay(long delay, @NonNull TimeUnit unit, boolean delayError) { return delay(delay, unit, Schedulers.computation(), delayError); } @@ -8418,7 +8528,8 @@ public final Flowable delay(long delay, TimeUnit unit, boolean delayError) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable delay(long delay, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable delay(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delay(delay, unit, scheduler, false); } @@ -8450,11 +8561,11 @@ public final Flowable delay(long delay, TimeUnit unit, Scheduler scheduler) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable delay(long delay, TimeUnit unit, Scheduler scheduler, boolean delayError) { + public final Flowable delay(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableDelay(this, Math.max(0L, delay), unit, scheduler, delayError)); + return RxJavaPlugins.onAssembly(new FlowableDelay<>(this, Math.max(0L, delay), unit, scheduler, delayError)); } /** @@ -8492,8 +8603,9 @@ public final Flowable delay(long delay, TimeUnit unit, Scheduler scheduler, b @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable delay(Publisher subscriptionIndicator, - Function> itemDelayIndicator) { + @NonNull + public final Flowable delay(@NonNull Publisher subscriptionIndicator, + @NonNull Function> itemDelayIndicator) { return delaySubscription(subscriptionIndicator).delay(itemDelayIndicator); } @@ -8519,9 +8631,9 @@ public final Flowable delay(Publisher subscriptionIndicator, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable delaySubscription(Publisher subscriptionIndicator) { + public final Flowable delaySubscription(@NonNull Publisher subscriptionIndicator) { Objects.requireNonNull(subscriptionIndicator, "subscriptionIndicator is null"); - return RxJavaPlugins.onAssembly(new FlowableDelaySubscriptionOther(this, subscriptionIndicator)); + return RxJavaPlugins.onAssembly(new FlowableDelaySubscriptionOther<>(this, subscriptionIndicator)); } /** @@ -8545,7 +8657,8 @@ public final Flowable delaySubscription(Publisher subscriptionIndicato @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable delaySubscription(long delay, TimeUnit unit) { + @NonNull + public final Flowable delaySubscription(long delay, @NonNull TimeUnit unit) { return delaySubscription(delay, unit, Schedulers.computation()); } @@ -8574,7 +8687,8 @@ public final Flowable delaySubscription(long delay, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable delaySubscription(long delay, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable delaySubscription(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delaySubscription(timer(delay, unit, scheduler)); } @@ -8632,9 +8746,9 @@ public final Flowable delaySubscription(long delay, TimeUnit unit, Scheduler @NonNull @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.PASS_THROUGH) - public final Flowable dematerialize(Function> selector) { + public final Flowable dematerialize(@NonNull Function<@NonNull ? super T, @NonNull Notification> selector) { Objects.requireNonNull(selector, "selector is null"); - return RxJavaPlugins.onAssembly(new FlowableDematerialize(this, selector)); + return RxJavaPlugins.onAssembly(new FlowableDematerialize<>(this, selector)); } /** @@ -8674,6 +8788,7 @@ public final Flowable dematerialize(Function> @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable distinct() { return distinct((Function)Functions.identity(), Functions.createHashSet()); } @@ -8717,7 +8832,8 @@ public final Flowable distinct() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable distinct(Function keySelector) { + @NonNull + public final Flowable distinct(@NonNull Function keySelector) { return distinct(keySelector, Functions.createHashSet()); } @@ -8751,11 +8867,12 @@ public final Flowable distinct(Function keySelector) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable distinct(Function keySelector, - Supplier> collectionSupplier) { + @NonNull + public final Flowable distinct(@NonNull Function keySelector, + @NonNull Supplier> collectionSupplier) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(collectionSupplier, "collectionSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableDistinct(this, keySelector, collectionSupplier)); + return RxJavaPlugins.onAssembly(new FlowableDistinct<>(this, keySelector, collectionSupplier)); } /** @@ -8795,6 +8912,7 @@ public final Flowable distinct(Function keySelector, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable distinctUntilChanged() { return distinctUntilChanged(Functions.identity()); } @@ -8841,9 +8959,10 @@ public final Flowable distinctUntilChanged() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable distinctUntilChanged(Function keySelector) { + @NonNull + public final Flowable distinctUntilChanged(@NonNull Function keySelector) { Objects.requireNonNull(keySelector, "keySelector is null"); - return RxJavaPlugins.onAssembly(new FlowableDistinctUntilChanged(this, keySelector, ObjectHelper.equalsPredicate())); + return RxJavaPlugins.onAssembly(new FlowableDistinctUntilChanged<>(this, keySelector, ObjectHelper.equalsPredicate())); } /** @@ -8879,9 +8998,10 @@ public final Flowable distinctUntilChanged(Function keySele @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable distinctUntilChanged(BiPredicate comparer) { + @NonNull + public final Flowable distinctUntilChanged(@NonNull BiPredicate comparer) { Objects.requireNonNull(comparer, "comparer is null"); - return RxJavaPlugins.onAssembly(new FlowableDistinctUntilChanged(this, Functions.identity(), comparer)); + return RxJavaPlugins.onAssembly(new FlowableDistinctUntilChanged<>(this, Functions.identity(), comparer)); } /** @@ -8909,9 +9029,10 @@ public final Flowable distinctUntilChanged(BiPredicate @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doFinally(Action onFinally) { + @NonNull + public final Flowable doFinally(@NonNull Action onFinally) { Objects.requireNonNull(onFinally, "onFinally is null"); - return RxJavaPlugins.onAssembly(new FlowableDoFinally(this, onFinally)); + return RxJavaPlugins.onAssembly(new FlowableDoFinally<>(this, onFinally)); } /** @@ -8936,9 +9057,10 @@ public final Flowable doFinally(Action onFinally) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doAfterNext(Consumer onAfterNext) { + @NonNull + public final Flowable doAfterNext(@NonNull Consumer onAfterNext) { Objects.requireNonNull(onAfterNext, "onAfterNext is null"); - return RxJavaPlugins.onAssembly(new FlowableDoAfterNext(this, onAfterNext)); + return RxJavaPlugins.onAssembly(new FlowableDoAfterNext<>(this, onAfterNext)); } /** @@ -8964,7 +9086,8 @@ public final Flowable doAfterNext(Consumer onAfterNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doAfterTerminate(Action onAfterTerminate) { + @NonNull + public final Flowable doAfterTerminate(@NonNull Action onAfterTerminate) { return doOnEach(Functions.emptyConsumer(), Functions.emptyConsumer(), Functions.EMPTY_ACTION, onAfterTerminate); } @@ -8997,7 +9120,8 @@ public final Flowable doAfterTerminate(Action onAfterTerminate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnCancel(Action onCancel) { + @NonNull + public final Flowable doOnCancel(@NonNull Action onCancel) { return doOnLifecycle(Functions.emptyConsumer(), Functions.EMPTY_LONG_CONSUMER, onCancel); } @@ -9021,7 +9145,8 @@ public final Flowable doOnCancel(Action onCancel) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnComplete(Action onComplete) { + @NonNull + public final Flowable doOnComplete(@NonNull Action onComplete) { return doOnEach(Functions.emptyConsumer(), Functions.emptyConsumer(), onComplete, Functions.EMPTY_ACTION); } @@ -9046,13 +9171,13 @@ public final Flowable doOnComplete(Action onComplete) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - private Flowable doOnEach(Consumer onNext, Consumer onError, + private Flowable doOnEach(@NonNull Consumer onNext, @NonNull Consumer onError, Action onComplete, Action onAfterTerminate) { Objects.requireNonNull(onNext, "onNext is null"); Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); Objects.requireNonNull(onAfterTerminate, "onAfterTerminate is null"); - return RxJavaPlugins.onAssembly(new FlowableDoOnEach(this, onNext, onError, onComplete, onAfterTerminate)); + return RxJavaPlugins.onAssembly(new FlowableDoOnEach<>(this, onNext, onError, onComplete, onAfterTerminate)); } /** @@ -9076,7 +9201,7 @@ private Flowable doOnEach(Consumer onNext, Consumer doOnEach(final Consumer> onNotification) { + public final Flowable doOnEach(@NonNull Consumer<@NonNull ? super Notification> onNotification) { Objects.requireNonNull(onNotification, "onNotification is null"); return doOnEach( Functions.notificationOnNext(onNotification), @@ -9113,7 +9238,7 @@ public final Flowable doOnEach(final Consumer> onNoti @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnEach(final Subscriber subscriber) { + public final Flowable doOnEach(@NonNull Subscriber subscriber) { Objects.requireNonNull(subscriber, "subscriber is null"); return doOnEach( FlowableInternalHelper.subscriberOnNext(subscriber), @@ -9145,7 +9270,8 @@ public final Flowable doOnEach(final Subscriber subscriber) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnError(Consumer onError) { + @NonNull + public final Flowable doOnError(@NonNull Consumer onError) { return doOnEach(Functions.emptyConsumer(), onError, Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); } @@ -9176,12 +9302,12 @@ public final Flowable doOnError(Consumer onError) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnLifecycle(final Consumer onSubscribe, - final LongConsumer onRequest, final Action onCancel) { + public final Flowable doOnLifecycle(@NonNull Consumer onSubscribe, + @NonNull LongConsumer onRequest, @NonNull Action onCancel) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); Objects.requireNonNull(onRequest, "onRequest is null"); Objects.requireNonNull(onCancel, "onCancel is null"); - return RxJavaPlugins.onAssembly(new FlowableDoOnLifecycle(this, onSubscribe, onRequest, onCancel)); + return RxJavaPlugins.onAssembly(new FlowableDoOnLifecycle<>(this, onSubscribe, onRequest, onCancel)); } /** @@ -9204,7 +9330,8 @@ public final Flowable doOnLifecycle(final Consumer onSu @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnNext(Consumer onNext) { + @NonNull + public final Flowable doOnNext(@NonNull Consumer onNext) { return doOnEach(onNext, Functions.emptyConsumer(), Functions.EMPTY_ACTION, Functions.EMPTY_ACTION); } @@ -9234,7 +9361,8 @@ public final Flowable doOnNext(Consumer onNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnRequest(LongConsumer onRequest) { + @NonNull + public final Flowable doOnRequest(@NonNull LongConsumer onRequest) { return doOnLifecycle(Functions.emptyConsumer(), onRequest, Functions.EMPTY_ACTION); } @@ -9261,7 +9389,8 @@ public final Flowable doOnRequest(LongConsumer onRequest) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnSubscribe(Consumer onSubscribe) { + @NonNull + public final Flowable doOnSubscribe(@NonNull Consumer onSubscribe) { return doOnLifecycle(onSubscribe, Functions.EMPTY_LONG_CONSUMER, Functions.EMPTY_ACTION); } @@ -9290,7 +9419,8 @@ public final Flowable doOnSubscribe(Consumer onSubscrib @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable doOnTerminate(final Action onTerminate) { + @NonNull + public final Flowable doOnTerminate(@NonNull Action onTerminate) { return doOnEach(Functions.emptyConsumer(), Functions.actionConsumer(onTerminate), onTerminate, Functions.EMPTY_ACTION); } @@ -9316,11 +9446,12 @@ public final Flowable doOnTerminate(final Action onTerminate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe elementAt(long index) { if (index < 0) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } - return RxJavaPlugins.onAssembly(new FlowableElementAtMaybe(this, index)); + return RxJavaPlugins.onAssembly(new FlowableElementAtMaybe<>(this, index)); } /** @@ -9349,12 +9480,12 @@ public final Maybe elementAt(long index) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Single elementAt(long index, T defaultItem) { + public final Single elementAt(long index, @NonNull T defaultItem) { if (index < 0) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new FlowableElementAtSingle(this, index, defaultItem)); + return RxJavaPlugins.onAssembly(new FlowableElementAtSingle<>(this, index, defaultItem)); } /** @@ -9380,11 +9511,12 @@ public final Single elementAt(long index, T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single elementAtOrError(long index) { if (index < 0) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } - return RxJavaPlugins.onAssembly(new FlowableElementAtSingle(this, index, null)); + return RxJavaPlugins.onAssembly(new FlowableElementAtSingle<>(this, index, null)); } /** @@ -9410,9 +9542,9 @@ public final Single elementAtOrError(long index) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable filter(Predicate predicate) { + public final Flowable filter(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableFilter(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableFilter<>(this, predicate)); } /** @@ -9433,6 +9565,7 @@ public final Flowable filter(Predicate predicate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe firstElement() { return elementAt(0); } @@ -9458,7 +9591,8 @@ public final Maybe firstElement() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Single first(T defaultItem) { + @NonNull + public final Single first(@NonNull T defaultItem) { return elementAt(0, defaultItem); } @@ -9480,6 +9614,7 @@ public final Single first(T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) // take may trigger UNBOUNDED_IN @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single firstOrError() { return elementAtOrError(0); } @@ -9512,7 +9647,8 @@ public final Single firstOrError() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable flatMap(Function> mapper) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper) { return flatMap(mapper, false, bufferSize(), bufferSize()); } @@ -9547,7 +9683,8 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, boolean delayErrors) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, boolean delayErrors) { return flatMap(mapper, delayErrors, bufferSize(), bufferSize()); } @@ -9583,7 +9720,8 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, int maxConcurrency) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, int maxConcurrency) { return flatMap(mapper, false, maxConcurrency, bufferSize()); } @@ -9622,7 +9760,8 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, boolean delayErrors, int maxConcurrency) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, boolean delayErrors, int maxConcurrency) { return flatMap(mapper, delayErrors, maxConcurrency, bufferSize()); } @@ -9664,7 +9803,7 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, + public final Flowable flatMap(@NonNull Function> mapper, boolean delayErrors, int maxConcurrency, int bufferSize) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); @@ -9677,7 +9816,7 @@ public final Flowable flatMap(Function(this, mapper, delayErrors, maxConcurrency, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableFlatMap<>(this, mapper, delayErrors, maxConcurrency, bufferSize)); } /** @@ -9714,13 +9853,13 @@ public final Flowable flatMap(Function Flowable flatMap( - Function> onNextMapper, - Function> onErrorMapper, - Supplier> onCompleteSupplier) { + @NonNull Function> onNextMapper, + @NonNull Function> onErrorMapper, + @NonNull Supplier> onCompleteSupplier) { Objects.requireNonNull(onNextMapper, "onNextMapper is null"); Objects.requireNonNull(onErrorMapper, "onErrorMapper is null"); Objects.requireNonNull(onCompleteSupplier, "onCompleteSupplier is null"); - return merge(new FlowableMapNotification>(this, onNextMapper, onErrorMapper, onCompleteSupplier)); + return merge(new FlowableMapNotification<>(this, onNextMapper, onErrorMapper, onCompleteSupplier)); } /** @@ -9761,14 +9900,14 @@ public final Flowable flatMap( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable flatMap( - Function> onNextMapper, - Function> onErrorMapper, - Supplier> onCompleteSupplier, + @NonNull Function> onNextMapper, + @NonNull Function> onErrorMapper, + @NonNull Supplier> onCompleteSupplier, int maxConcurrency) { Objects.requireNonNull(onNextMapper, "onNextMapper is null"); Objects.requireNonNull(onErrorMapper, "onErrorMapper is null"); Objects.requireNonNull(onCompleteSupplier, "onCompleteSupplier is null"); - return merge(new FlowableMapNotification>( + return merge(new FlowableMapNotification<>( this, onNextMapper, onErrorMapper, onCompleteSupplier), maxConcurrency); } @@ -9803,8 +9942,9 @@ public final Flowable flatMap( @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable flatMap(Function> mapper, - BiFunction combiner) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, + @NonNull BiFunction combiner) { return flatMap(mapper, combiner, false, bufferSize(), bufferSize()); } @@ -9842,8 +9982,9 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, - BiFunction combiner, boolean delayErrors) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, + @NonNull BiFunction combiner, boolean delayErrors) { return flatMap(mapper, combiner, delayErrors, bufferSize(), bufferSize()); } @@ -9885,8 +10026,9 @@ public final Flowable flatMap(Function Flowable flatMap(Function> mapper, - BiFunction combiner, boolean delayErrors, int maxConcurrency) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, + @NonNull BiFunction combiner, boolean delayErrors, int maxConcurrency) { return flatMap(mapper, combiner, delayErrors, maxConcurrency, bufferSize()); } @@ -9931,8 +10073,8 @@ public final Flowable flatMap(Function Flowable flatMap(final Function> mapper, - final BiFunction combiner, boolean delayErrors, int maxConcurrency, int bufferSize) { + public final Flowable flatMap(@NonNull Function> mapper, + @NonNull BiFunction combiner, boolean delayErrors, int maxConcurrency, int bufferSize) { Objects.requireNonNull(mapper, "mapper is null"); Objects.requireNonNull(combiner, "combiner is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); @@ -9975,8 +10117,9 @@ public final Flowable flatMap(final Function Flowable flatMap(Function> mapper, - BiFunction combiner, int maxConcurrency) { + @NonNull + public final Flowable flatMap(@NonNull Function> mapper, + @NonNull BiFunction combiner, int maxConcurrency) { return flatMap(mapper, combiner, false, maxConcurrency, bufferSize()); } @@ -9995,7 +10138,8 @@ public final Flowable flatMap(Function mapper) { + @NonNull + public final Completable flatMapCompletable(@NonNull Function mapper) { return flatMapCompletable(mapper, false, Integer.MAX_VALUE); } @@ -10020,10 +10164,10 @@ public final Completable flatMapCompletable(Function mapper, boolean delayErrors, int maxConcurrency) { + public final Completable flatMapCompletable(@NonNull Function mapper, boolean delayErrors, int maxConcurrency) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); - return RxJavaPlugins.onAssembly(new FlowableFlatMapCompletableCompletable(this, mapper, delayErrors, maxConcurrency)); + return RxJavaPlugins.onAssembly(new FlowableFlatMapCompletableCompletable<>(this, mapper, delayErrors, maxConcurrency)); } /** @@ -10052,7 +10196,8 @@ public final Completable flatMapCompletable(Function Flowable flatMapIterable(final Function> mapper) { + @NonNull + public final Flowable flatMapIterable(@NonNull Function> mapper) { return flatMapIterable(mapper, bufferSize()); } @@ -10085,10 +10230,10 @@ public final Flowable flatMapIterable(final Function Flowable flatMapIterable(final Function> mapper, int bufferSize) { + public final Flowable flatMapIterable(@NonNull Function> mapper, int bufferSize) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableFlattenIterable(this, mapper, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableFlattenIterable<>(this, mapper, bufferSize)); } /** @@ -10122,8 +10267,8 @@ public final Flowable flatMapIterable(final Function Flowable flatMapIterable(final Function> mapper, - final BiFunction resultSelector) { + public final Flowable flatMapIterable(@NonNull Function> mapper, + @NonNull BiFunction resultSelector) { Objects.requireNonNull(mapper, "mapper is null"); Objects.requireNonNull(resultSelector, "resultSelector is null"); return flatMap(FlowableInternalHelper.flatMapIntoIterable(mapper), resultSelector, false, bufferSize(), bufferSize()); @@ -10165,8 +10310,8 @@ public final Flowable flatMapIterable(final Function Flowable flatMapIterable(final Function> mapper, - final BiFunction resultSelector, int prefetch) { + public final Flowable flatMapIterable(@NonNull Function> mapper, + @NonNull BiFunction resultSelector, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); Objects.requireNonNull(resultSelector, "resultSelector is null"); return flatMap(FlowableInternalHelper.flatMapIntoIterable(mapper), resultSelector, false, bufferSize(), prefetch); @@ -10188,7 +10333,8 @@ public final Flowable flatMapIterable(final Function Flowable flatMapMaybe(Function> mapper) { + @NonNull + public final Flowable flatMapMaybe(@NonNull Function> mapper) { return flatMapMaybe(mapper, false, Integer.MAX_VALUE); } @@ -10215,10 +10361,10 @@ public final Flowable flatMapMaybe(Function Flowable flatMapMaybe(Function> mapper, boolean delayErrors, int maxConcurrency) { + public final Flowable flatMapMaybe(@NonNull Function> mapper, boolean delayErrors, int maxConcurrency) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); - return RxJavaPlugins.onAssembly(new FlowableFlatMapMaybe(this, mapper, delayErrors, maxConcurrency)); + return RxJavaPlugins.onAssembly(new FlowableFlatMapMaybe<>(this, mapper, delayErrors, maxConcurrency)); } /** @@ -10237,7 +10383,8 @@ public final Flowable flatMapMaybe(Function Flowable flatMapSingle(Function> mapper) { + @NonNull + public final Flowable flatMapSingle(@NonNull Function> mapper) { return flatMapSingle(mapper, false, Integer.MAX_VALUE); } @@ -10264,10 +10411,10 @@ public final Flowable flatMapSingle(Function Flowable flatMapSingle(Function> mapper, boolean delayErrors, int maxConcurrency) { + public final Flowable flatMapSingle(@NonNull Function> mapper, boolean delayErrors, int maxConcurrency) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); - return RxJavaPlugins.onAssembly(new FlowableFlatMapSingle(this, mapper, delayErrors, maxConcurrency)); + return RxJavaPlugins.onAssembly(new FlowableFlatMapSingle<>(this, mapper, delayErrors, maxConcurrency)); } /** @@ -10293,7 +10440,8 @@ public final Flowable flatMapSingle(Function onNext) { + @NonNull + public final Disposable forEach(@NonNull Consumer onNext) { return subscribe(onNext); } @@ -10323,7 +10471,8 @@ public final Disposable forEach(Consumer onNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.NONE) @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable forEachWhile(Predicate onNext) { + @NonNull + public final Disposable forEachWhile(@NonNull Predicate onNext) { return forEachWhile(onNext, Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -10352,7 +10501,8 @@ public final Disposable forEachWhile(Predicate onNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.NONE) @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable forEachWhile(Predicate onNext, Consumer onError) { + @NonNull + public final Disposable forEachWhile(@NonNull Predicate onNext, @NonNull Consumer onError) { return forEachWhile(onNext, onError, Functions.EMPTY_ACTION); } @@ -10385,13 +10535,13 @@ public final Disposable forEachWhile(Predicate onNext, Consumer onNext, final Consumer onError, - final Action onComplete) { + public final Disposable forEachWhile(@NonNull Predicate onNext, @NonNull Consumer onError, + @NonNull Action onComplete) { Objects.requireNonNull(onNext, "onNext is null"); Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); - ForEachWhileSubscriber s = new ForEachWhileSubscriber(onNext, onError, onComplete); + ForEachWhileSubscriber s = new ForEachWhileSubscriber<>(onNext, onError, onComplete); subscribe(s); return s; } @@ -10450,7 +10600,8 @@ public final Disposable forEachWhile(final Predicate onNext, final Co @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> groupBy(Function keySelector) { + @NonNull + public final Flowable> groupBy(@NonNull Function keySelector) { return groupBy(keySelector, Functions.identity(), false, bufferSize()); } @@ -10509,7 +10660,8 @@ public final Flowable> groupBy(Function Flowable> groupBy(Function keySelector, boolean delayError) { + @NonNull + public final Flowable> groupBy(@NonNull Function keySelector, boolean delayError) { return groupBy(keySelector, Functions.identity(), delayError, bufferSize()); } @@ -10572,8 +10724,9 @@ public final Flowable> groupBy(Function Flowable> groupBy(Function keySelector, - Function valueSelector) { + @NonNull + public final Flowable> groupBy(@NonNull Function keySelector, + @NonNull Function valueSelector) { return groupBy(keySelector, valueSelector, false, bufferSize()); } @@ -10637,8 +10790,9 @@ public final Flowable> groupBy(Function Flowable> groupBy(Function keySelector, - Function valueSelector, boolean delayError) { + @NonNull + public final Flowable> groupBy(@NonNull Function keySelector, + @NonNull Function valueSelector, boolean delayError) { return groupBy(keySelector, valueSelector, delayError, bufferSize()); } @@ -10704,8 +10858,8 @@ public final Flowable> groupBy(Function Flowable> groupBy(Function keySelector, - Function valueSelector, + public final Flowable> groupBy(@NonNull Function keySelector, + @NonNull Function valueSelector, boolean delayError, int bufferSize) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(valueSelector, "valueSelector is null"); @@ -10825,10 +10979,10 @@ public final Flowable> groupBy(Function Flowable> groupBy(Function keySelector, - Function valueSelector, + public final Flowable> groupBy(@NonNull Function keySelector, + @NonNull Function valueSelector, boolean delayError, int bufferSize, - Function, ? extends Map> evictingMapFactory) { + @NonNull Function, ? extends Map> evictingMapFactory) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(valueSelector, "valueSelector is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -10876,10 +11030,10 @@ public final Flowable> groupBy(Function Flowable groupJoin( - Publisher other, - Function> leftEnd, - Function> rightEnd, - BiFunction, ? extends R> resultSelector) { + @NonNull Publisher other, + @NonNull Function> leftEnd, + @NonNull Function> rightEnd, + @NonNull BiFunction, ? extends R> resultSelector) { Objects.requireNonNull(other, "other is null"); Objects.requireNonNull(leftEnd, "leftEnd is null"); Objects.requireNonNull(rightEnd, "rightEnd is null"); @@ -10907,8 +11061,9 @@ public final Flowable groupJoin( @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable hide() { - return RxJavaPlugins.onAssembly(new FlowableHide(this)); + return RxJavaPlugins.onAssembly(new FlowableHide<>(this)); } /** @@ -10930,8 +11085,9 @@ public final Flowable hide() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable ignoreElements() { - return RxJavaPlugins.onAssembly(new FlowableIgnoreElementsCompletable(this)); + return RxJavaPlugins.onAssembly(new FlowableIgnoreElementsCompletable<>(this)); } /** @@ -10955,6 +11111,7 @@ public final Completable ignoreElements() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single isEmpty() { return all(Functions.alwaysFalse()); } @@ -10998,10 +11155,10 @@ public final Single isEmpty() { @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable join( - Publisher other, - Function> leftEnd, - Function> rightEnd, - BiFunction resultSelector) { + @NonNull Publisher other, + @NonNull Function> leftEnd, + @NonNull Function> rightEnd, + @NonNull BiFunction resultSelector) { Objects.requireNonNull(other, "other is null"); Objects.requireNonNull(leftEnd, "leftEnd is null"); Objects.requireNonNull(rightEnd, "rightEnd is null"); @@ -11029,8 +11186,9 @@ public final Flowable join( @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe lastElement() { - return RxJavaPlugins.onAssembly(new FlowableLastMaybe(this)); + return RxJavaPlugins.onAssembly(new FlowableLastMaybe<>(this)); } /** @@ -11055,9 +11213,9 @@ public final Maybe lastElement() { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single last(T defaultItem) { + public final Single last(@NonNull T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem"); - return RxJavaPlugins.onAssembly(new FlowableLastSingle(this, defaultItem)); + return RxJavaPlugins.onAssembly(new FlowableLastSingle<>(this, defaultItem)); } /** @@ -11079,8 +11237,9 @@ public final Single last(T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single lastOrError() { - return RxJavaPlugins.onAssembly(new FlowableLastSingle(this, null)); + return RxJavaPlugins.onAssembly(new FlowableLastSingle<>(this, null)); } /** @@ -11233,7 +11392,7 @@ public final Single lastOrError() { @NonNull @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable lift(FlowableOperator lifter) { + public final Flowable lift(@NonNull FlowableOperator lifter) { Objects.requireNonNull(lifter, "lifter is null"); return RxJavaPlugins.onAssembly(new FlowableLift(this, lifter)); } @@ -11289,8 +11448,9 @@ public final Flowable lift(FlowableOperator lifte @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> materialize() { - return RxJavaPlugins.onAssembly(new FlowableMaterialize(this)); + return RxJavaPlugins.onAssembly(new FlowableMaterialize<>(this)); } /** @@ -11317,7 +11477,7 @@ public final Flowable> materialize() { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable mergeWith(Publisher other) { + public final Flowable mergeWith(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return merge(this, other); } @@ -11347,7 +11507,7 @@ public final Flowable mergeWith(Publisher other) { @SchedulerSupport(SchedulerSupport.NONE) public final Flowable mergeWith(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableMergeWithSingle(this, other)); + return RxJavaPlugins.onAssembly(new FlowableMergeWithSingle<>(this, other)); } /** @@ -11376,7 +11536,7 @@ public final Flowable mergeWith(@NonNull SingleSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Flowable mergeWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableMergeWithMaybe(this, other)); + return RxJavaPlugins.onAssembly(new FlowableMergeWithMaybe<>(this, other)); } /** @@ -11402,7 +11562,7 @@ public final Flowable mergeWith(@NonNull MaybeSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Flowable mergeWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableMergeWithCompletable(this, other)); + return RxJavaPlugins.onAssembly(new FlowableMergeWithCompletable<>(this, other)); } /** @@ -11451,7 +11611,8 @@ public final Flowable mergeWith(@NonNull CompletableSource other) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable observeOn(Scheduler scheduler) { + @NonNull + public final Flowable observeOn(@NonNull Scheduler scheduler) { return observeOn(scheduler, false, bufferSize()); } @@ -11502,7 +11663,8 @@ public final Flowable observeOn(Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable observeOn(Scheduler scheduler, boolean delayError) { + @NonNull + public final Flowable observeOn(@NonNull Scheduler scheduler, boolean delayError) { return observeOn(scheduler, delayError, bufferSize()); } @@ -11555,10 +11717,10 @@ public final Flowable observeOn(Scheduler scheduler, boolean delayError) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable observeOn(Scheduler scheduler, boolean delayError, int bufferSize) { + public final Flowable observeOn(@NonNull Scheduler scheduler, boolean delayError, int bufferSize) { Objects.requireNonNull(scheduler, "scheduler is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableObserveOn(this, scheduler, delayError, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableObserveOn<>(this, scheduler, delayError, bufferSize)); } /** @@ -11583,7 +11745,7 @@ public final Flowable observeOn(Scheduler scheduler, boolean delayError, int @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable ofType(final Class clazz) { + public final Flowable ofType(@NonNull Class clazz) { Objects.requireNonNull(clazz, "clazz is null"); return filter(Functions.isInstanceOf(clazz)).cast(clazz); } @@ -11607,6 +11769,7 @@ public final Flowable ofType(final Class clazz) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureBuffer() { return onBackpressureBuffer(bufferSize(), false, true); } @@ -11633,6 +11796,7 @@ public final Flowable onBackpressureBuffer() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureBuffer(boolean delayError) { return onBackpressureBuffer(bufferSize(), delayError, true); } @@ -11660,6 +11824,7 @@ public final Flowable onBackpressureBuffer(boolean delayError) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureBuffer(int capacity) { return onBackpressureBuffer(capacity, false, false); } @@ -11691,6 +11856,7 @@ public final Flowable onBackpressureBuffer(int capacity) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureBuffer(int capacity, boolean delayError) { return onBackpressureBuffer(capacity, delayError, false); } @@ -11724,9 +11890,10 @@ public final Flowable onBackpressureBuffer(int capacity, boolean delayError) @CheckReturnValue @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureBuffer(int capacity, boolean delayError, boolean unbounded) { ObjectHelper.verifyPositive(capacity, "capacity"); - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBuffer(this, capacity, unbounded, delayError, Functions.EMPTY_ACTION)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBuffer<>(this, capacity, unbounded, delayError, Functions.EMPTY_ACTION)); } /** @@ -11761,10 +11928,10 @@ public final Flowable onBackpressureBuffer(int capacity, boolean delayError, @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable onBackpressureBuffer(int capacity, boolean delayError, boolean unbounded, - Action onOverflow) { + @NonNull Action onOverflow) { Objects.requireNonNull(onOverflow, "onOverflow is null"); ObjectHelper.verifyPositive(capacity, "capacity"); - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBuffer(this, capacity, unbounded, delayError, onOverflow)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBuffer<>(this, capacity, unbounded, delayError, onOverflow)); } /** @@ -11791,7 +11958,8 @@ public final Flowable onBackpressureBuffer(int capacity, boolean delayError, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onBackpressureBuffer(int capacity, Action onOverflow) { + @NonNull + public final Flowable onBackpressureBuffer(int capacity, @NonNull Action onOverflow) { return onBackpressureBuffer(capacity, false, false, onOverflow); } @@ -11832,10 +12000,10 @@ public final Flowable onBackpressureBuffer(int capacity, Action onOverflow) { @NonNull @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onBackpressureBuffer(long capacity, Action onOverflow, BackpressureOverflowStrategy overflowStrategy) { + public final Flowable onBackpressureBuffer(long capacity, @NonNull Action onOverflow, @NonNull BackpressureOverflowStrategy overflowStrategy) { Objects.requireNonNull(overflowStrategy, "overflowStrategy is null"); ObjectHelper.verifyPositive(capacity, "capacity"); - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBufferStrategy(this, capacity, onOverflow, overflowStrategy)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureBufferStrategy<>(this, capacity, onOverflow, overflowStrategy)); } /** @@ -11860,8 +12028,9 @@ public final Flowable onBackpressureBuffer(long capacity, Action onOverflow, @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureDrop() { - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureDrop(this)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureDrop<>(this)); } /** @@ -11889,9 +12058,9 @@ public final Flowable onBackpressureDrop() { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onBackpressureDrop(Consumer onDrop) { + public final Flowable onBackpressureDrop(@NonNull Consumer onDrop) { Objects.requireNonNull(onDrop, "onDrop is null"); - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureDrop(this, onDrop)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureDrop<>(this, onDrop)); } /** @@ -11922,8 +12091,9 @@ public final Flowable onBackpressureDrop(Consumer onDrop) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onBackpressureLatest() { - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureLatest(this)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureLatest<>(this)); } /** @@ -11965,9 +12135,9 @@ public final Flowable onBackpressureLatest() { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onErrorResumeNext(Function> resumeFunction) { + public final Flowable onErrorResumeNext(@NonNull Function> resumeFunction) { Objects.requireNonNull(resumeFunction, "resumeFunction is null"); - return RxJavaPlugins.onAssembly(new FlowableOnErrorNext(this, resumeFunction)); + return RxJavaPlugins.onAssembly(new FlowableOnErrorNext<>(this, resumeFunction)); } /** @@ -12009,7 +12179,7 @@ public final Flowable onErrorResumeNext(Function onErrorResumeWith(final Publisher next) { + public final Flowable onErrorResumeWith(@NonNull Publisher next) { Objects.requireNonNull(next, "next is null"); return onErrorResumeNext(Functions.justFunction(next)); } @@ -12049,9 +12219,9 @@ public final Flowable onErrorResumeWith(final Publisher next) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onErrorReturn(Function valueSupplier) { + public final Flowable onErrorReturn(@NonNull Function valueSupplier) { Objects.requireNonNull(valueSupplier, "valueSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableOnErrorReturn(this, valueSupplier)); + return RxJavaPlugins.onAssembly(new FlowableOnErrorReturn<>(this, valueSupplier)); } /** @@ -12089,7 +12259,7 @@ public final Flowable onErrorReturn(Function @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable onErrorReturnItem(final T item) { + public final Flowable onErrorReturnItem(@NonNull T item) { Objects.requireNonNull(item, "item is null"); return onErrorReturn(Functions.justFunction(item)); } @@ -12111,8 +12281,9 @@ public final Flowable onErrorReturnItem(final T item) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable onTerminateDetach() { - return RxJavaPlugins.onAssembly(new FlowableDetach(this)); + return RxJavaPlugins.onAssembly(new FlowableDetach<>(this)); } /** @@ -12140,6 +12311,7 @@ public final Flowable onTerminateDetach() { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue + @NonNull public final ParallelFlowable parallel() { return ParallelFlowable.from(this); } @@ -12170,6 +12342,7 @@ public final ParallelFlowable parallel() { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue + @NonNull public final ParallelFlowable parallel(int parallelism) { ObjectHelper.verifyPositive(parallelism, "parallelism"); return ParallelFlowable.from(this, parallelism); @@ -12203,6 +12376,7 @@ public final ParallelFlowable parallel(int parallelism) { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @CheckReturnValue + @NonNull public final ParallelFlowable parallel(int parallelism, int prefetch) { ObjectHelper.verifyPositive(parallelism, "parallelism"); ObjectHelper.verifyPositive(prefetch, "prefetch"); @@ -12231,6 +12405,7 @@ public final ParallelFlowable parallel(int parallelism, int prefetch) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final ConnectableFlowable publish() { return publish(bufferSize()); } @@ -12263,7 +12438,8 @@ public final ConnectableFlowable publish() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable publish(Function, ? extends Publisher> selector) { + @NonNull + public final Flowable publish(@NonNull Function, ? extends Publisher> selector) { return publish(selector, bufferSize()); } @@ -12298,10 +12474,10 @@ public final Flowable publish(Function, ? extends Pub @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable publish(Function, ? extends Publisher> selector, int prefetch) { + public final Flowable publish(@NonNull Function, ? extends Publisher> selector, int prefetch) { Objects.requireNonNull(selector, "selector is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new FlowablePublishMulticast(this, selector, prefetch, false)); + return RxJavaPlugins.onAssembly(new FlowablePublishMulticast<>(this, selector, prefetch, false)); } /** @@ -12328,9 +12504,10 @@ public final Flowable publish(Function, ? extends Pub @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final ConnectableFlowable publish(int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowablePublish(this, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowablePublish<>(this, bufferSize)); } /** @@ -12354,6 +12531,7 @@ public final ConnectableFlowable publish(int bufferSize) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable rebatchRequests(int n) { return observeOn(ImmediateThinScheduler.INSTANCE, true, n); } @@ -12393,9 +12571,9 @@ public final Flowable rebatchRequests(int n) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe reduce(BiFunction reducer) { + public final Maybe reduce(@NonNull BiFunction reducer) { Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new FlowableReduceMaybe(this, reducer)); + return RxJavaPlugins.onAssembly(new FlowableReduceMaybe<>(this, reducer)); } /** @@ -12455,10 +12633,10 @@ public final Maybe reduce(BiFunction reducer) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single reduce(R seed, BiFunction reducer) { + public final <@NonNull R> Single reduce(R seed, @NonNull BiFunction reducer) { Objects.requireNonNull(seed, "seed is null"); Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new FlowableReduceSeedSingle(this, seed, reducer)); + return RxJavaPlugins.onAssembly(new FlowableReduceSeedSingle<>(this, seed, reducer)); } /** @@ -12500,10 +12678,10 @@ public final Single reduce(R seed, BiFunction reducer) { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single reduceWith(Supplier seedSupplier, BiFunction reducer) { + public final <@NonNull R> Single reduceWith(@NonNull Supplier seedSupplier, @NonNull BiFunction reducer) { Objects.requireNonNull(seedSupplier, "seedSupplier is null"); Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new FlowableReduceWithSingle(this, seedSupplier, reducer)); + return RxJavaPlugins.onAssembly(new FlowableReduceWithSingle<>(this, seedSupplier, reducer)); } /** @@ -12524,6 +12702,7 @@ public final Single reduceWith(Supplier seedSupplier, BiFunction repeat() { return repeat(Long.MAX_VALUE); } @@ -12553,6 +12732,7 @@ public final Flowable repeat() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable repeat(long times) { if (times < 0) { throw new IllegalArgumentException("times >= 0 required but it was " + times); @@ -12560,7 +12740,7 @@ public final Flowable repeat(long times) { if (times == 0) { return empty(); } - return RxJavaPlugins.onAssembly(new FlowableRepeat(this, times)); + return RxJavaPlugins.onAssembly(new FlowableRepeat<>(this, times)); } /** @@ -12588,9 +12768,9 @@ public final Flowable repeat(long times) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatUntil(BooleanSupplier stop) { + public final Flowable repeatUntil(@NonNull BooleanSupplier stop) { Objects.requireNonNull(stop, "stop is null"); - return RxJavaPlugins.onAssembly(new FlowableRepeatUntil(this, stop)); + return RxJavaPlugins.onAssembly(new FlowableRepeatUntil<>(this, stop)); } /** @@ -12619,9 +12799,9 @@ public final Flowable repeatUntil(BooleanSupplier stop) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatWhen(final Function, ? extends Publisher> handler) { + public final Flowable repeatWhen(@NonNull Function, ? extends Publisher> handler) { Objects.requireNonNull(handler, "handler is null"); - return RxJavaPlugins.onAssembly(new FlowableRepeatWhen(this, handler)); + return RxJavaPlugins.onAssembly(new FlowableRepeatWhen<>(this, handler)); } /** @@ -12647,6 +12827,7 @@ public final Flowable repeatWhen(final Function, ? e @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final ConnectableFlowable replay() { return FlowableReplay.createFrom(this); } @@ -12678,7 +12859,7 @@ public final ConnectableFlowable replay() { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable replay(Function, ? extends Publisher> selector) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector) { Objects.requireNonNull(selector, "selector is null"); return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this), selector); } @@ -12718,7 +12899,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable replay(Function, ? extends Publisher> selector, final int bufferSize) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, final int bufferSize) { Objects.requireNonNull(selector, "selector is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, bufferSize, false), selector); @@ -12761,7 +12942,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable replay(Function, ? extends Publisher> selector, final int bufferSize, boolean eagerTruncate) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, final int bufferSize, boolean eagerTruncate) { Objects.requireNonNull(selector, "selector is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); return FlowableReplay.multicastSelector(FlowableInternalHelper.replaySupplier(this, bufferSize, eagerTruncate), selector); @@ -12805,7 +12986,8 @@ public final Flowable replay(Function, ? extends Publ @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable replay(Function, ? extends Publisher> selector, int bufferSize, long time, TimeUnit unit) { + @NonNull + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, int bufferSize, long time, @NonNull TimeUnit unit) { return replay(selector, bufferSize, time, unit, Schedulers.computation()); } @@ -12853,7 +13035,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable replay(Function, ? extends Publisher> selector, final int bufferSize, final long time, final TimeUnit unit, final Scheduler scheduler) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, int bufferSize, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(selector, "selector is null"); Objects.requireNonNull(unit, "unit is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -12908,7 +13090,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable replay(Function, ? extends Publisher> selector, final int bufferSize, final long time, final TimeUnit unit, final Scheduler scheduler, boolean eagerTruncate) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, int bufferSize, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) { Objects.requireNonNull(selector, "selector is null"); Objects.requireNonNull(unit, "unit is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); @@ -12949,7 +13131,8 @@ public final Flowable replay(Function, ? extends Publ @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable replay(Function, ? extends Publisher> selector, long time, TimeUnit unit) { + @NonNull + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, long time, @NonNull TimeUnit unit) { return replay(selector, time, unit, Schedulers.computation()); } @@ -12989,7 +13172,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable replay(Function, ? extends Publisher> selector, final long time, final TimeUnit unit, final Scheduler scheduler) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(selector, "selector is null"); Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -13034,7 +13217,7 @@ public final Flowable replay(Function, ? extends Publ @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable replay(Function, ? extends Publisher> selector, final long time, final TimeUnit unit, final Scheduler scheduler, boolean eagerTruncate) { + public final Flowable replay(@NonNull Function, ? extends Publisher> selector, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) { Objects.requireNonNull(selector, "selector is null"); Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -13072,7 +13255,8 @@ public final Flowable replay(Function, ? extends Publ @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final ConnectableFlowable replay(final int bufferSize) { + @NonNull + public final ConnectableFlowable replay(int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); return FlowableReplay.create(this, bufferSize, false); } @@ -13109,7 +13293,8 @@ public final ConnectableFlowable replay(final int bufferSize) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final ConnectableFlowable replay(final int bufferSize, boolean eagerTruncate) { + @NonNull + public final ConnectableFlowable replay(int bufferSize, boolean eagerTruncate) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); return FlowableReplay.create(this, bufferSize, eagerTruncate); } @@ -13150,7 +13335,8 @@ public final ConnectableFlowable replay(final int bufferSize, boolean eagerTr @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final ConnectableFlowable replay(int bufferSize, long time, TimeUnit unit) { + @NonNull + public final ConnectableFlowable replay(int bufferSize, long time, @NonNull TimeUnit unit) { return replay(bufferSize, time, unit, Schedulers.computation()); } @@ -13194,7 +13380,8 @@ public final ConnectableFlowable replay(int bufferSize, long time, TimeUnit u @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final ConnectableFlowable replay(final int bufferSize, final long time, final TimeUnit unit, final Scheduler scheduler) { + @NonNull + public final ConnectableFlowable replay(int bufferSize, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -13244,7 +13431,8 @@ public final ConnectableFlowable replay(final int bufferSize, final long time @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final ConnectableFlowable replay(final int bufferSize, final long time, final TimeUnit unit, final Scheduler scheduler, boolean eagerTruncate) { + @NonNull + public final ConnectableFlowable replay(int bufferSize, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -13282,7 +13470,8 @@ public final ConnectableFlowable replay(final int bufferSize, final long time @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final ConnectableFlowable replay(long time, TimeUnit unit) { + @NonNull + public final ConnectableFlowable replay(long time, @NonNull TimeUnit unit) { return replay(time, unit, Schedulers.computation()); } @@ -13319,7 +13508,8 @@ public final ConnectableFlowable replay(long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final ConnectableFlowable replay(final long time, final TimeUnit unit, final Scheduler scheduler) { + @NonNull + public final ConnectableFlowable replay(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return FlowableReplay.create(this, time, unit, scheduler, false); @@ -13360,7 +13550,8 @@ public final ConnectableFlowable replay(final long time, final TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final ConnectableFlowable replay(final long time, final TimeUnit unit, final Scheduler scheduler, boolean eagerTruncate) { + @NonNull + public final ConnectableFlowable replay(final long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean eagerTruncate) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return FlowableReplay.create(this, time, unit, scheduler, eagerTruncate); @@ -13393,6 +13584,7 @@ public final ConnectableFlowable replay(final long time, final TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable retry() { return retry(Long.MAX_VALUE, Functions.alwaysTrue()); } @@ -13421,10 +13613,10 @@ public final Flowable retry() { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable retry(BiPredicate predicate) { + public final Flowable retry(@NonNull BiPredicate<@NonNull ? super Integer, @NonNull ? super Throwable> predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableRetryBiPredicate(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableRetryBiPredicate<>(this, predicate)); } /** @@ -13457,6 +13649,7 @@ public final Flowable retry(BiPredicate p @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable retry(long count) { return retry(count, Functions.alwaysTrue()); } @@ -13479,13 +13672,13 @@ public final Flowable retry(long count) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable retry(long times, Predicate predicate) { + public final Flowable retry(long times, @NonNull Predicate<@NonNull ? super Throwable> predicate) { if (times < 0) { throw new IllegalArgumentException("times >= 0 required but it was " + times); } Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableRetryPredicate(this, times, predicate)); + return RxJavaPlugins.onAssembly(new FlowableRetryPredicate<>(this, times, predicate)); } /** @@ -13504,7 +13697,8 @@ public final Flowable retry(long times, Predicate predicat @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable retry(Predicate predicate) { + @NonNull + public final Flowable retry(@NonNull Predicate<@NonNull ? super Throwable> predicate) { return retry(Long.MAX_VALUE, predicate); } @@ -13524,7 +13718,7 @@ public final Flowable retry(Predicate predicate) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable retryUntil(final BooleanSupplier stop) { + public final Flowable retryUntil(@NonNull BooleanSupplier stop) { Objects.requireNonNull(stop, "stop is null"); return retry(Long.MAX_VALUE, Functions.predicateReverseFor(stop)); } @@ -13611,10 +13805,10 @@ public final Flowable retryUntil(final BooleanSupplier stop) { @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable retryWhen( - final Function, ? extends Publisher> handler) { + @NonNull Function, ? extends Publisher> handler) { Objects.requireNonNull(handler, "handler is null"); - return RxJavaPlugins.onAssembly(new FlowableRetryWhen(this, handler)); + return RxJavaPlugins.onAssembly(new FlowableRetryWhen<>(this, handler)); } /** @@ -13633,7 +13827,7 @@ public final Flowable retryWhen( */ @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final void safeSubscribe(Subscriber s) { + public final void safeSubscribe(@NonNull Subscriber s) { Objects.requireNonNull(s, "s is null"); if (s instanceof SafeSubscriber) { subscribe((SafeSubscriber)s); @@ -13667,7 +13861,8 @@ public final void safeSubscribe(Subscriber s) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable sample(long period, TimeUnit unit) { + @NonNull + public final Flowable sample(long period, @NonNull TimeUnit unit) { return sample(period, unit, Schedulers.computation()); } @@ -13702,7 +13897,8 @@ public final Flowable sample(long period, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable sample(long period, TimeUnit unit, boolean emitLast) { + @NonNull + public final Flowable sample(long period, @NonNull TimeUnit unit, boolean emitLast) { return sample(period, unit, Schedulers.computation(), emitLast); } @@ -13734,10 +13930,10 @@ public final Flowable sample(long period, TimeUnit unit, boolean emitLast) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable sample(long period, TimeUnit unit, Scheduler scheduler) { + public final Flowable sample(long period, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableSampleTimed(this, period, unit, scheduler, false)); + return RxJavaPlugins.onAssembly(new FlowableSampleTimed<>(this, period, unit, scheduler, false)); } /** @@ -13775,10 +13971,10 @@ public final Flowable sample(long period, TimeUnit unit, Scheduler scheduler) @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable sample(long period, TimeUnit unit, Scheduler scheduler, boolean emitLast) { + public final Flowable sample(long period, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean emitLast) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableSampleTimed(this, period, unit, scheduler, emitLast)); + return RxJavaPlugins.onAssembly(new FlowableSampleTimed<>(this, period, unit, scheduler, emitLast)); } /** @@ -13807,9 +14003,9 @@ public final Flowable sample(long period, TimeUnit unit, Scheduler scheduler, @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable sample(Publisher sampler) { + public final Flowable sample(@NonNull Publisher sampler) { Objects.requireNonNull(sampler, "sampler is null"); - return RxJavaPlugins.onAssembly(new FlowableSamplePublisher(this, sampler, false)); + return RxJavaPlugins.onAssembly(new FlowableSamplePublisher<>(this, sampler, false)); } /** @@ -13845,9 +14041,9 @@ public final Flowable sample(Publisher sampler) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable sample(Publisher sampler, boolean emitLast) { + public final Flowable sample(@NonNull Publisher sampler, boolean emitLast) { Objects.requireNonNull(sampler, "sampler is null"); - return RxJavaPlugins.onAssembly(new FlowableSamplePublisher(this, sampler, emitLast)); + return RxJavaPlugins.onAssembly(new FlowableSamplePublisher<>(this, sampler, emitLast)); } /** @@ -13878,9 +14074,9 @@ public final Flowable sample(Publisher sampler, boolean emitLast) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable scan(BiFunction accumulator) { + public final Flowable scan(@NonNull BiFunction accumulator) { Objects.requireNonNull(accumulator, "accumulator is null"); - return RxJavaPlugins.onAssembly(new FlowableScan(this, accumulator)); + return RxJavaPlugins.onAssembly(new FlowableScan<>(this, accumulator)); } /** @@ -13932,7 +14128,7 @@ public final Flowable scan(BiFunction accumulator) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable scan(final R initialValue, BiFunction accumulator) { + public final <@NonNull R> Flowable scan(R initialValue, @NonNull BiFunction accumulator) { Objects.requireNonNull(initialValue, "initialValue is null"); return scanWith(Functions.justSupplier(initialValue), accumulator); } @@ -13972,10 +14168,10 @@ public final Flowable scan(final R initialValue, BiFunction Flowable scanWith(Supplier seedSupplier, BiFunction accumulator) { + public final <@NonNull R> Flowable scanWith(@NonNull Supplier seedSupplier, @NonNull BiFunction accumulator) { Objects.requireNonNull(seedSupplier, "seedSupplier is null"); Objects.requireNonNull(accumulator, "accumulator is null"); - return RxJavaPlugins.onAssembly(new FlowableScanSeed(this, seedSupplier, accumulator)); + return RxJavaPlugins.onAssembly(new FlowableScanSeed<>(this, seedSupplier, accumulator)); } /** @@ -14004,8 +14200,9 @@ public final Flowable scanWith(Supplier seedSupplier, BiFunction serialize() { - return RxJavaPlugins.onAssembly(new FlowableSerialized(this)); + return RxJavaPlugins.onAssembly(new FlowableSerialized<>(this)); } /** @@ -14032,6 +14229,7 @@ public final Flowable serialize() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable share() { return publish().refCount(); } @@ -14056,8 +14254,9 @@ public final Flowable share() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe singleElement() { - return RxJavaPlugins.onAssembly(new FlowableSingleMaybe(this)); + return RxJavaPlugins.onAssembly(new FlowableSingleMaybe<>(this)); } /** @@ -14084,9 +14283,9 @@ public final Maybe singleElement() { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single single(T defaultItem) { + public final Single single(@NonNull T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new FlowableSingleSingle(this, defaultItem)); + return RxJavaPlugins.onAssembly(new FlowableSingleSingle<>(this, defaultItem)); } /** @@ -14110,8 +14309,9 @@ public final Single single(T defaultItem) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single singleOrError() { - return RxJavaPlugins.onAssembly(new FlowableSingleSingle(this, null)); + return RxJavaPlugins.onAssembly(new FlowableSingleSingle<>(this, null)); } /** @@ -14136,11 +14336,12 @@ public final Single singleOrError() { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable skip(long count) { if (count <= 0L) { return RxJavaPlugins.onAssembly(this); } - return RxJavaPlugins.onAssembly(new FlowableSkip(this, count)); + return RxJavaPlugins.onAssembly(new FlowableSkip<>(this, count)); } /** @@ -14168,7 +14369,8 @@ public final Flowable skip(long count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable skip(long time, TimeUnit unit) { + @NonNull + public final Flowable skip(long time, @NonNull TimeUnit unit) { return skipUntil(timer(time, unit)); } @@ -14198,7 +14400,8 @@ public final Flowable skip(long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable skip(long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable skip(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return skipUntil(timer(time, unit, scheduler)); } @@ -14230,6 +14433,7 @@ public final Flowable skip(long time, TimeUnit unit, Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable skipLast(int count) { if (count < 0) { throw new IndexOutOfBoundsException("count >= 0 required but it was " + count); @@ -14237,7 +14441,7 @@ public final Flowable skipLast(int count) { if (count == 0) { return RxJavaPlugins.onAssembly(this); } - return RxJavaPlugins.onAssembly(new FlowableSkipLast(this, count)); + return RxJavaPlugins.onAssembly(new FlowableSkipLast<>(this, count)); } /** @@ -14267,7 +14471,8 @@ public final Flowable skipLast(int count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable skipLast(long time, TimeUnit unit) { + @NonNull + public final Flowable skipLast(long time, @NonNull TimeUnit unit) { return skipLast(time, unit, Schedulers.computation(), false, bufferSize()); } @@ -14301,7 +14506,8 @@ public final Flowable skipLast(long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable skipLast(long time, TimeUnit unit, boolean delayError) { + @NonNull + public final Flowable skipLast(long time, @NonNull TimeUnit unit, boolean delayError) { return skipLast(time, unit, Schedulers.computation(), delayError, bufferSize()); } @@ -14333,7 +14539,8 @@ public final Flowable skipLast(long time, TimeUnit unit, boolean delayError) @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable skipLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return skipLast(time, unit, scheduler, false, bufferSize()); } @@ -14368,7 +14575,8 @@ public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler) @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler, boolean delayError) { + @NonNull + public final Flowable skipLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError) { return skipLast(time, unit, scheduler, delayError, bufferSize()); } @@ -14406,13 +14614,13 @@ public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler, @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler, boolean delayError, int bufferSize) { + public final Flowable skipLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError, int bufferSize) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); // the internal buffer holds pairs of (timestamp, value) so double the default buffer size int s = bufferSize << 1; - return RxJavaPlugins.onAssembly(new FlowableSkipLastTimed(this, time, unit, scheduler, s, delayError)); + return RxJavaPlugins.onAssembly(new FlowableSkipLastTimed<>(this, time, unit, scheduler, s, delayError)); } /** @@ -14440,9 +14648,9 @@ public final Flowable skipLast(long time, TimeUnit unit, Scheduler scheduler, @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable skipUntil(Publisher other) { + public final Flowable skipUntil(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableSkipUntil(this, other)); + return RxJavaPlugins.onAssembly(new FlowableSkipUntil<>(this, other)); } /** @@ -14468,9 +14676,9 @@ public final Flowable skipUntil(Publisher other) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable skipWhile(Predicate predicate) { + public final Flowable skipWhile(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableSkipWhile(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableSkipWhile<>(this, predicate)); } /** * Returns a Flowable that emits the events emitted by source Publisher, in a @@ -14496,6 +14704,7 @@ public final Flowable skipWhile(Predicate predicate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable sorted() { return toList().toFlowable().map(Functions.listSorter(Functions.naturalComparator())).flatMapIterable(Functions.>identity()); } @@ -14524,7 +14733,7 @@ public final Flowable sorted() { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable sorted(Comparator sortFunction) { + public final Flowable sorted(@NonNull Comparator<@NonNull ? super T> sortFunction) { Objects.requireNonNull(sortFunction, "sortFunction"); return toList().toFlowable().map(Functions.listSorter(sortFunction)).flatMapIterable(Functions.>identity()); } @@ -14555,7 +14764,8 @@ public final Flowable sorted(Comparator sortFunction) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable startWithIterable(Iterable items) { + @NonNull + public final Flowable startWithIterable(@NonNull Iterable items) { return concatArray(fromIterable(items), this); } @@ -14583,7 +14793,7 @@ public final Flowable startWithIterable(Iterable items) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable startWith(Publisher other) { + public final Flowable startWith(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return concatArray(other, this); } @@ -14615,7 +14825,7 @@ public final Flowable startWith(Publisher other) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable startWithItem(T item) { + public final Flowable startWithItem(@NonNull T item) { Objects.requireNonNull(item, "item is null"); return concatArray(just(item), this); } @@ -14642,11 +14852,12 @@ public final Flowable startWithItem(T item) { * @see #startWithItem(Object) * @see #startWithIterable(Iterable) */ - @SuppressWarnings("unchecked") @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable startWithArray(T... items) { + @SafeVarargs + @NonNull + public final Flowable startWithArray(@NonNull T... items) { Flowable fromArray = fromArray(items); if (fromArray == empty()) { return RxJavaPlugins.onAssembly(this); @@ -14674,6 +14885,7 @@ public final Flowable startWithArray(T... items) { */ @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Disposable subscribe() { return subscribe(Functions.emptyConsumer(), Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -14703,7 +14915,8 @@ public final Disposable subscribe() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(Consumer onNext) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onNext) { return subscribe(onNext, Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -14733,7 +14946,8 @@ public final Disposable subscribe(Consumer onNext) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(Consumer onNext, Consumer onError) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onNext, @NonNull Consumer onError) { return subscribe(onNext, onError, Functions.EMPTY_ACTION); } @@ -14767,13 +14981,14 @@ public final Disposable subscribe(Consumer onNext, Consumer onNext, Consumer onError, - Action onComplete) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onNext, @NonNull Consumer onError, + @NonNull Action onComplete) { Objects.requireNonNull(onNext, "onNext is null"); Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); - LambdaSubscriber ls = new LambdaSubscriber(onNext, onError, onComplete, FlowableInternalHelper.RequestMax.INSTANCE); + LambdaSubscriber ls = new LambdaSubscriber<>(onNext, onError, onComplete, FlowableInternalHelper.RequestMax.INSTANCE); subscribe(ls); @@ -14783,7 +14998,7 @@ public final Disposable subscribe(Consumer onNext, Consumer s) { + public final void subscribe(@NonNull Subscriber s) { if (s instanceof FlowableSubscriber) { subscribe((FlowableSubscriber)s); } else { @@ -14831,7 +15046,7 @@ public final void subscribe(Subscriber s) { */ @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) - public final void subscribe(FlowableSubscriber s) { + public final void subscribe(@NonNull FlowableSubscriber s) { Objects.requireNonNull(s, "s is null"); try { Subscriber z = RxJavaPlugins.onSubscribe(this, s); @@ -14861,7 +15076,7 @@ public final void subscribe(FlowableSubscriber s) { * applied by {@link #subscribe(Subscriber)} before this method gets called. * @param s the incoming Subscriber, never null */ - protected abstract void subscribeActual(Subscriber s); + protected abstract void subscribeActual(@NonNull Subscriber s); /** * Subscribes a given Subscriber (subclass) to this Flowable and returns the given @@ -14893,7 +15108,8 @@ public final void subscribe(FlowableSubscriber s) { @CheckReturnValue @BackpressureSupport(BackpressureKind.SPECIAL) @SchedulerSupport(SchedulerSupport.NONE) - public final > E subscribeWith(E subscriber) { + @NonNull + public final <@NonNull E extends Subscriber> E subscribeWith(E subscriber) { subscribe(subscriber); return subscriber; } @@ -14967,7 +15183,7 @@ public final Flowable subscribeOn(@NonNull Scheduler scheduler) { @SchedulerSupport(SchedulerSupport.CUSTOM) public final Flowable subscribeOn(@NonNull Scheduler scheduler, boolean requestOn) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableSubscribeOn(this, scheduler, requestOn)); + return RxJavaPlugins.onAssembly(new FlowableSubscribeOn<>(this, scheduler, requestOn)); } /** @@ -14996,9 +15212,9 @@ public final Flowable subscribeOn(@NonNull Scheduler scheduler, boolean reque @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable switchIfEmpty(Publisher other) { + public final Flowable switchIfEmpty(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchIfEmpty(this, other)); + return RxJavaPlugins.onAssembly(new FlowableSwitchIfEmpty<>(this, other)); } /** @@ -15031,7 +15247,8 @@ public final Flowable switchIfEmpty(Publisher other) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable switchMap(Function> mapper) { + @NonNull + public final Flowable switchMap(@NonNull Function> mapper) { return switchMap(mapper, bufferSize()); } @@ -15067,7 +15284,8 @@ public final Flowable switchMap(Function Flowable switchMap(Function> mapper, int bufferSize) { + @NonNull + public final Flowable switchMap(@NonNull Function> mapper, int bufferSize) { return switchMap0(mapper, bufferSize, false); } @@ -15114,7 +15332,7 @@ public final Flowable switchMap(Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapCompletable(this, mapper, false)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapCompletable<>(this, mapper, false)); } /** @@ -15161,7 +15379,7 @@ public final Completable switchMapCompletable(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapCompletable(this, mapper, true)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapCompletable<>(this, mapper, true)); } /** @@ -15196,7 +15414,8 @@ public final Completable switchMapCompletableDelayError(@NonNull Function Flowable switchMapDelayError(Function> mapper) { + @NonNull + public final Flowable switchMapDelayError(@NonNull Function> mapper) { return switchMapDelayError(mapper, bufferSize()); } @@ -15234,7 +15453,8 @@ public final Flowable switchMapDelayError(Function Flowable switchMapDelayError(Function> mapper, int bufferSize) { + @NonNull + public final Flowable switchMapDelayError(@NonNull Function> mapper, int bufferSize) { return switchMap0(mapper, bufferSize, true); } @@ -15249,7 +15469,7 @@ Flowable switchMap0(Function> } return FlowableScalarXMap.scalarXMap(v, mapper); } - return RxJavaPlugins.onAssembly(new FlowableSwitchMap(this, mapper, bufferSize, delayError)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMap<>(this, mapper, bufferSize, delayError)); } /** @@ -15290,7 +15510,7 @@ Flowable switchMap0(Function> @SchedulerSupport(SchedulerSupport.NONE) public final Flowable switchMapMaybe(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapMaybe(this, mapper, false)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapMaybe<>(this, mapper, false)); } /** @@ -15321,7 +15541,7 @@ public final Flowable switchMapMaybe(@NonNull Function Flowable switchMapMaybeDelayError(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapMaybe(this, mapper, true)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapMaybe<>(this, mapper, true)); } /** @@ -15362,7 +15582,7 @@ public final Flowable switchMapMaybeDelayError(@NonNull Function Flowable switchMapSingle(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapSingle(this, mapper, false)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapSingle<>(this, mapper, false)); } /** @@ -15393,7 +15613,7 @@ public final Flowable switchMapSingle(@NonNull Function Flowable switchMapSingleDelayError(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new FlowableSwitchMapSingle(this, mapper, true)); + return RxJavaPlugins.onAssembly(new FlowableSwitchMapSingle<>(this, mapper, true)); } /** @@ -15439,11 +15659,12 @@ public final Flowable switchMapSingleDelayError(@NonNull Function take(long count) { if (count < 0) { throw new IllegalArgumentException("count >= 0 required but it was " + count); } - return RxJavaPlugins.onAssembly(new FlowableTake(this, count)); + return RxJavaPlugins.onAssembly(new FlowableTake<>(this, count)); } /** @@ -15472,7 +15693,8 @@ public final Flowable take(long count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable take(long time, TimeUnit unit) { + @NonNull + public final Flowable take(long time, @NonNull TimeUnit unit) { return takeUntil(timer(time, unit)); } @@ -15505,7 +15727,8 @@ public final Flowable take(long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable take(long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable take(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return takeUntil(timer(time, unit, scheduler)); } @@ -15533,17 +15756,18 @@ public final Flowable take(long time, TimeUnit unit, Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable takeLast(int count) { if (count < 0) { throw new IndexOutOfBoundsException("count >= 0 required but it was " + count); } else if (count == 0) { - return RxJavaPlugins.onAssembly(new FlowableIgnoreElements(this)); + return RxJavaPlugins.onAssembly(new FlowableIgnoreElements<>(this)); } else if (count == 1) { - return RxJavaPlugins.onAssembly(new FlowableTakeLastOne(this)); + return RxJavaPlugins.onAssembly(new FlowableTakeLastOne<>(this)); } - return RxJavaPlugins.onAssembly(new FlowableTakeLast(this, count)); + return RxJavaPlugins.onAssembly(new FlowableTakeLast<>(this, count)); } /** @@ -15573,7 +15797,8 @@ public final Flowable takeLast(int count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable takeLast(long count, long time, TimeUnit unit) { + @NonNull + public final Flowable takeLast(long count, long time, @NonNull TimeUnit unit) { return takeLast(count, time, unit, Schedulers.computation(), false, bufferSize()); } @@ -15609,7 +15834,8 @@ public final Flowable takeLast(long count, long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable takeLast(long count, long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable takeLast(long count, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return takeLast(count, time, unit, scheduler, false, bufferSize()); } @@ -15651,14 +15877,14 @@ public final Flowable takeLast(long count, long time, TimeUnit unit, Schedule @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable takeLast(long count, long time, TimeUnit unit, Scheduler scheduler, boolean delayError, int bufferSize) { + public final Flowable takeLast(long count, long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError, int bufferSize) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); if (count < 0) { throw new IndexOutOfBoundsException("count >= 0 required but it was " + count); } - return RxJavaPlugins.onAssembly(new FlowableTakeLastTimed(this, count, time, unit, scheduler, bufferSize, delayError)); + return RxJavaPlugins.onAssembly(new FlowableTakeLastTimed<>(this, count, time, unit, scheduler, bufferSize, delayError)); } /** @@ -15687,7 +15913,8 @@ public final Flowable takeLast(long count, long time, TimeUnit unit, Schedule @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable takeLast(long time, TimeUnit unit) { + @NonNull + public final Flowable takeLast(long time, @NonNull TimeUnit unit) { return takeLast(time, unit, Schedulers.computation(), false, bufferSize()); } @@ -15720,7 +15947,8 @@ public final Flowable takeLast(long time, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable takeLast(long time, TimeUnit unit, boolean delayError) { + @NonNull + public final Flowable takeLast(long time, @NonNull TimeUnit unit, boolean delayError) { return takeLast(time, unit, Schedulers.computation(), delayError, bufferSize()); } @@ -15754,7 +15982,8 @@ public final Flowable takeLast(long time, TimeUnit unit, boolean delayError) @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable takeLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return takeLast(time, unit, scheduler, false, bufferSize()); } @@ -15791,7 +16020,8 @@ public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler) @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler, boolean delayError) { + @NonNull + public final Flowable takeLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError) { return takeLast(time, unit, scheduler, delayError, bufferSize()); } @@ -15830,7 +16060,8 @@ public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler, boolean delayError, int bufferSize) { + @NonNull + public final Flowable takeLast(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError, int bufferSize) { return takeLast(Long.MAX_VALUE, time, unit, scheduler, delayError, bufferSize); } @@ -15863,9 +16094,9 @@ public final Flowable takeLast(long time, TimeUnit unit, Scheduler scheduler, @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable takeUntil(Predicate stopPredicate) { + public final Flowable takeUntil(@NonNull Predicate stopPredicate) { Objects.requireNonNull(stopPredicate, "stopPredicate is null"); - return RxJavaPlugins.onAssembly(new FlowableTakeUntilPredicate(this, stopPredicate)); + return RxJavaPlugins.onAssembly(new FlowableTakeUntilPredicate<>(this, stopPredicate)); } /** @@ -15893,9 +16124,9 @@ public final Flowable takeUntil(Predicate stopPredicate) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable takeUntil(Publisher other) { + public final Flowable takeUntil(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new FlowableTakeUntil(this, other)); + return RxJavaPlugins.onAssembly(new FlowableTakeUntil<>(this, other)); } /** @@ -15922,9 +16153,9 @@ public final Flowable takeUntil(Publisher other) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable takeWhile(Predicate predicate) { + public final Flowable takeWhile(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new FlowableTakeWhile(this, predicate)); + return RxJavaPlugins.onAssembly(new FlowableTakeWhile<>(this, predicate)); } /** @@ -15953,7 +16184,8 @@ public final Flowable takeWhile(Predicate predicate) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable throttleFirst(long windowDuration, TimeUnit unit) { + @NonNull + public final Flowable throttleFirst(long windowDuration, @NonNull TimeUnit unit) { return throttleFirst(windowDuration, unit, Schedulers.computation()); } @@ -15987,10 +16219,10 @@ public final Flowable throttleFirst(long windowDuration, TimeUnit unit) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable throttleFirst(long skipDuration, TimeUnit unit, Scheduler scheduler) { + public final Flowable throttleFirst(long skipDuration, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableThrottleFirstTimed(this, skipDuration, unit, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableThrottleFirstTimed<>(this, skipDuration, unit, scheduler)); } /** @@ -16021,7 +16253,8 @@ public final Flowable throttleFirst(long skipDuration, TimeUnit unit, Schedul @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable throttleLast(long intervalDuration, TimeUnit unit) { + @NonNull + public final Flowable throttleLast(long intervalDuration, @NonNull TimeUnit unit) { return sample(intervalDuration, unit); } @@ -16056,7 +16289,8 @@ public final Flowable throttleLast(long intervalDuration, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable throttleLast(long intervalDuration, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable throttleLast(long intervalDuration, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return sample(intervalDuration, unit, scheduler); } @@ -16093,7 +16327,8 @@ public final Flowable throttleLast(long intervalDuration, TimeUnit unit, Sche @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable throttleLatest(long timeout, TimeUnit unit) { + @NonNull + public final Flowable throttleLatest(long timeout, @NonNull TimeUnit unit) { return throttleLatest(timeout, unit, Schedulers.computation(), false); } @@ -16130,7 +16365,8 @@ public final Flowable throttleLatest(long timeout, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable throttleLatest(long timeout, TimeUnit unit, boolean emitLast) { + @NonNull + public final Flowable throttleLatest(long timeout, @NonNull TimeUnit unit, boolean emitLast) { return throttleLatest(timeout, unit, Schedulers.computation(), emitLast); } @@ -16168,7 +16404,8 @@ public final Flowable throttleLatest(long timeout, TimeUnit unit, boolean emi @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable throttleLatest(long timeout, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable throttleLatest(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return throttleLatest(timeout, unit, scheduler, false); } @@ -16207,10 +16444,10 @@ public final Flowable throttleLatest(long timeout, TimeUnit unit, Scheduler s @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable throttleLatest(long timeout, TimeUnit unit, Scheduler scheduler, boolean emitLast) { + public final Flowable throttleLatest(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean emitLast) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableThrottleLatest(this, timeout, unit, scheduler, emitLast)); + return RxJavaPlugins.onAssembly(new FlowableThrottleLatest<>(this, timeout, unit, scheduler, emitLast)); } /** @@ -16244,7 +16481,8 @@ public final Flowable throttleLatest(long timeout, TimeUnit unit, Scheduler s @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable throttleWithTimeout(long timeout, TimeUnit unit) { + @NonNull + public final Flowable throttleWithTimeout(long timeout, @NonNull TimeUnit unit) { return debounce(timeout, unit); } @@ -16282,7 +16520,8 @@ public final Flowable throttleWithTimeout(long timeout, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable throttleWithTimeout(long timeout, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable throttleWithTimeout(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return debounce(timeout, unit, scheduler); } @@ -16306,6 +16545,7 @@ public final Flowable throttleWithTimeout(long timeout, TimeUnit unit, Schedu @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> timeInterval() { return timeInterval(TimeUnit.MILLISECONDS, Schedulers.computation()); } @@ -16332,7 +16572,8 @@ public final Flowable> timeInterval() { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps. - public final Flowable> timeInterval(Scheduler scheduler) { + @NonNull + public final Flowable> timeInterval(@NonNull Scheduler scheduler) { return timeInterval(TimeUnit.MILLISECONDS, scheduler); } @@ -16357,7 +16598,8 @@ public final Flowable> timeInterval(Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> timeInterval(TimeUnit unit) { + @NonNull + public final Flowable> timeInterval(@NonNull TimeUnit unit) { return timeInterval(unit, Schedulers.computation()); } @@ -16384,10 +16626,11 @@ public final Flowable> timeInterval(TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps. - public final Flowable> timeInterval(TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable> timeInterval(@NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableTimeInterval(this, unit, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableTimeInterval<>(this, unit, scheduler)); } /** @@ -16422,7 +16665,8 @@ public final Flowable> timeInterval(TimeUnit unit, Scheduler scheduler) @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable timeout(Function> itemTimeoutIndicator) { + @NonNull + public final Flowable timeout(@NonNull Function> itemTimeoutIndicator) { return timeout0(null, itemTimeoutIndicator, null); } @@ -16461,7 +16705,7 @@ public final Flowable timeout(Function> @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable timeout(Function> itemTimeoutIndicator, Flowable other) { + public final Flowable timeout(@NonNull Function> itemTimeoutIndicator, @NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return timeout0(null, itemTimeoutIndicator, other); } @@ -16491,7 +16735,8 @@ public final Flowable timeout(Function> @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable timeout(long timeout, TimeUnit timeUnit) { + @NonNull + public final Flowable timeout(long timeout, @NonNull TimeUnit timeUnit) { return timeout0(timeout, timeUnit, null, Schedulers.computation()); } @@ -16524,7 +16769,7 @@ public final Flowable timeout(long timeout, TimeUnit timeUnit) { @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable timeout(long timeout, TimeUnit timeUnit, Publisher other) { + public final Flowable timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return timeout0(timeout, timeUnit, other, Schedulers.computation()); } @@ -16562,7 +16807,7 @@ public final Flowable timeout(long timeout, TimeUnit timeUnit, Publisher timeout(long timeout, TimeUnit timeUnit, Scheduler scheduler, Publisher other) { + public final Flowable timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull Scheduler scheduler, @NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); return timeout0(timeout, timeUnit, other, scheduler); } @@ -16595,7 +16840,8 @@ public final Flowable timeout(long timeout, TimeUnit timeUnit, Scheduler sche @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable timeout(long timeout, TimeUnit timeUnit, Scheduler scheduler) { + @NonNull + public final Flowable timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull Scheduler scheduler) { return timeout0(timeout, timeUnit, null, scheduler); } @@ -16634,8 +16880,8 @@ public final Flowable timeout(long timeout, TimeUnit timeUnit, Scheduler sche @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable timeout(Publisher firstTimeoutIndicator, - Function> itemTimeoutIndicator) { + public final Flowable timeout(@NonNull Publisher firstTimeoutIndicator, + @NonNull Function> itemTimeoutIndicator) { Objects.requireNonNull(firstTimeoutIndicator, "firstTimeoutIndicator is null"); return timeout0(firstTimeoutIndicator, itemTimeoutIndicator, null); } @@ -16681,9 +16927,9 @@ public final Flowable timeout(Publisher firstTimeoutIndicator, @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable timeout( - Publisher firstTimeoutIndicator, - Function> itemTimeoutIndicator, - Publisher other) { + @NonNull Publisher firstTimeoutIndicator, + @NonNull Function> itemTimeoutIndicator, + @NonNull Publisher other) { Objects.requireNonNull(firstTimeoutIndicator, "firstTimeoutSelector is null"); Objects.requireNonNull(other, "other is null"); return timeout0(firstTimeoutIndicator, itemTimeoutIndicator, other); @@ -16693,7 +16939,7 @@ private Flowable timeout0(long timeout, TimeUnit timeUnit, Publisher(this, timeout, timeUnit, scheduler, other)); + return RxJavaPlugins.onAssembly(new FlowableTimeoutTimed<>(this, timeout, timeUnit, scheduler, other)); } private Flowable timeout0( @@ -16701,7 +16947,7 @@ private Flowable timeout0( Function> itemTimeoutIndicator, Publisher other) { Objects.requireNonNull(itemTimeoutIndicator, "itemTimeoutIndicator is null"); - return RxJavaPlugins.onAssembly(new FlowableTimeout(this, firstTimeoutIndicator, itemTimeoutIndicator, other)); + return RxJavaPlugins.onAssembly(new FlowableTimeout<>(this, firstTimeoutIndicator, itemTimeoutIndicator, other)); } /** @@ -16724,6 +16970,7 @@ private Flowable timeout0( @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> timestamp() { return timestamp(TimeUnit.MILLISECONDS, Schedulers.computation()); } @@ -16751,7 +16998,8 @@ public final Flowable> timestamp() { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps. - public final Flowable> timestamp(Scheduler scheduler) { + @NonNull + public final Flowable> timestamp(@NonNull Scheduler scheduler) { return timestamp(TimeUnit.MILLISECONDS, scheduler); } @@ -16776,7 +17024,8 @@ public final Flowable> timestamp(Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> timestamp(TimeUnit unit) { + @NonNull + public final Flowable> timestamp(@NonNull TimeUnit unit) { return timestamp(unit, Schedulers.computation()); } @@ -16805,7 +17054,7 @@ public final Flowable> timestamp(TimeUnit unit) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) // Supplied scheduler is only used for creating timestamps. - public final Flowable> timestamp(final TimeUnit unit, final Scheduler scheduler) { + public final Flowable> timestamp(@NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return map(Functions.timestampWith(unit, scheduler)); @@ -16865,6 +17114,7 @@ public final R to(@NonNull FlowableConverter converter) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> toList() { return RxJavaPlugins.onAssembly(new FlowableToListSingle>(this)); } @@ -16901,9 +17151,10 @@ public final Single> toList() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> toList(final int capacityHint) { ObjectHelper.verifyPositive(capacityHint, "capacityHint"); - return RxJavaPlugins.onAssembly(new FlowableToListSingle>(this, Functions.createArrayList(capacityHint))); + return RxJavaPlugins.onAssembly(new FlowableToListSingle<>(this, Functions.createArrayList(capacityHint))); } /** @@ -16939,9 +17190,10 @@ public final Single> toList(final int capacityHint) { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final > Single toList(Supplier collectionSupplier) { + @NonNull + public final > Single toList(@NonNull Supplier collectionSupplier) { Objects.requireNonNull(collectionSupplier, "collectionSupplier is null"); - return RxJavaPlugins.onAssembly(new FlowableToListSingle(this, collectionSupplier)); + return RxJavaPlugins.onAssembly(new FlowableToListSingle<>(this, collectionSupplier)); } /** @@ -16974,7 +17226,7 @@ public final > Single toList(Supplier coll @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single> toMap(final Function keySelector) { + public final Single> toMap(@NonNull Function keySelector) { Objects.requireNonNull(keySelector, "keySelector is null"); return collect(HashMapSupplier.asSupplier(), Functions.toMapKeySelector(keySelector)); } @@ -17013,7 +17265,7 @@ public final Single> toMap(final Function @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single> toMap(final Function keySelector, final Function valueSelector) { + public final Single> toMap(@NonNull Function keySelector, @NonNull Function valueSelector) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(valueSelector, "valueSelector is null"); return collect(HashMapSupplier.asSupplier(), Functions.toMapKeyValueSelector(keySelector, valueSelector)); @@ -17052,9 +17304,9 @@ public final Single> toMap(final Function Single> toMap(final Function keySelector, - final Function valueSelector, - final Supplier> mapSupplier) { + public final Single> toMap(@NonNull Function keySelector, + @NonNull Function valueSelector, + @NonNull Supplier> mapSupplier) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(valueSelector, "valueSelector is null"); return collect(mapSupplier, Functions.toMapKeyValueSelector(keySelector, valueSelector)); @@ -17086,7 +17338,8 @@ public final Single> toMap(final Function Single>> toMultimap(Function keySelector) { + @NonNull + public final Single>> toMultimap(@NonNull Function keySelector) { Function valueSelector = Functions.identity(); Supplier>> mapSupplier = HashMapSupplier.asSupplier(); Function> collectionFactory = ArrayListSupplier.asFunction(); @@ -17124,7 +17377,8 @@ public final Single>> toMultimap(Function Single>> toMultimap(Function keySelector, Function valueSelector) { + @NonNull + public final Single>> toMultimap(@NonNull Function keySelector, @NonNull Function valueSelector) { Supplier>> mapSupplier = HashMapSupplier.asSupplier(); Function> collectionFactory = ArrayListSupplier.asFunction(); return toMultimap(keySelector, valueSelector, mapSupplier, collectionFactory); @@ -17167,10 +17421,10 @@ public final Single>> toMultimap(Function Single>> toMultimap( - final Function keySelector, - final Function valueSelector, - final Supplier>> mapSupplier, - final Function> collectionFactory) { + @NonNull Function keySelector, + @NonNull Function valueSelector, + @NonNull Supplier>> mapSupplier, + @NonNull Function> collectionFactory) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(valueSelector, "valueSelector is null"); Objects.requireNonNull(mapSupplier, "mapSupplier is null"); @@ -17211,10 +17465,11 @@ public final Single>> toMultimap( @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single>> toMultimap( - Function keySelector, - Function valueSelector, - Supplier>> mapSupplier + @NonNull Function keySelector, + @NonNull Function valueSelector, + @NonNull Supplier>> mapSupplier ) { return toMultimap(keySelector, valueSelector, mapSupplier, ArrayListSupplier.asFunction()); } @@ -17234,8 +17489,9 @@ public final Single>> toMultimap( @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Observable toObservable() { - return RxJavaPlugins.onAssembly(new ObservableFromPublisher(this)); + return RxJavaPlugins.onAssembly(new ObservableFromPublisher<>(this)); } /** @@ -17266,6 +17522,7 @@ public final Observable toObservable() { @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> toSortedList() { return toSortedList(Functions.naturalComparator()); } @@ -17298,7 +17555,7 @@ public final Single> toSortedList() { @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single> toSortedList(final Comparator comparator) { + public final Single> toSortedList(@NonNull Comparator comparator) { Objects.requireNonNull(comparator, "comparator is null"); return toList().map(Functions.listSorter(comparator)); } @@ -17334,7 +17591,7 @@ public final Single> toSortedList(final Comparator comparator @NonNull @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) - public final Single> toSortedList(final Comparator comparator, int capacityHint) { + public final Single> toSortedList(@NonNull Comparator comparator, int capacityHint) { Objects.requireNonNull(comparator, "comparator is null"); return toList(capacityHint).map(Functions.listSorter(comparator)); } @@ -17371,6 +17628,7 @@ public final Single> toSortedList(final Comparator comparator @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> toSortedList(int capacityHint) { return toSortedList(Functions.naturalComparator(), capacityHint); } @@ -17396,9 +17654,9 @@ public final Single> toSortedList(int capacityHint) { @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable unsubscribeOn(Scheduler scheduler) { + public final Flowable unsubscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new FlowableUnsubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new FlowableUnsubscribeOn<>(this, scheduler)); } /** @@ -17430,6 +17688,7 @@ public final Flowable unsubscribeOn(Scheduler scheduler) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> window(long count) { return window(count, count, bufferSize()); } @@ -17467,6 +17726,7 @@ public final Flowable> window(long count) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> window(long count, long skip) { return window(count, skip, bufferSize()); } @@ -17506,11 +17766,12 @@ public final Flowable> window(long count, long skip) { @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> window(long count, long skip, int bufferSize) { ObjectHelper.verifyPositive(skip, "skip"); ObjectHelper.verifyPositive(count, "count"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableWindow(this, count, skip, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableWindow<>(this, count, skip, bufferSize)); } /** @@ -17549,7 +17810,8 @@ public final Flowable> window(long count, long skip, int bufferSize) @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> window(long timespan, long timeskip, TimeUnit unit) { + @NonNull + public final Flowable> window(long timespan, long timeskip, @NonNull TimeUnit unit) { return window(timespan, timeskip, unit, Schedulers.computation(), bufferSize()); } @@ -17591,7 +17853,8 @@ public final Flowable> window(long timespan, long timeskip, TimeUnit @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> window(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Flowable> window(long timespan, long timeskip, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return window(timespan, timeskip, unit, scheduler, bufferSize()); } @@ -17636,13 +17899,13 @@ public final Flowable> window(long timespan, long timeskip, TimeUnit @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> window(long timespan, long timeskip, TimeUnit unit, Scheduler scheduler, int bufferSize) { + public final Flowable> window(long timespan, long timeskip, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); ObjectHelper.verifyPositive(timespan, "timespan"); ObjectHelper.verifyPositive(timeskip, "timeskip"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(unit, "unit is null"); - return RxJavaPlugins.onAssembly(new FlowableWindowTimed(this, timespan, timeskip, unit, scheduler, Long.MAX_VALUE, bufferSize, false)); + return RxJavaPlugins.onAssembly(new FlowableWindowTimed<>(this, timespan, timeskip, unit, scheduler, Long.MAX_VALUE, bufferSize, false)); } /** @@ -17679,7 +17942,8 @@ public final Flowable> window(long timespan, long timeskip, TimeUnit @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> window(long timespan, TimeUnit unit) { + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit) { return window(timespan, unit, Schedulers.computation(), Long.MAX_VALUE, false); } @@ -17721,7 +17985,8 @@ public final Flowable> window(long timespan, TimeUnit unit) { @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> window(long timespan, TimeUnit unit, + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit, long count) { return window(timespan, unit, Schedulers.computation(), count, false); } @@ -17766,7 +18031,8 @@ public final Flowable> window(long timespan, TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Flowable> window(long timespan, TimeUnit unit, + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit, long count, boolean restart) { return window(timespan, unit, Schedulers.computation(), count, restart); } @@ -17808,8 +18074,9 @@ public final Flowable> window(long timespan, TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> window(long timespan, TimeUnit unit, - Scheduler scheduler) { + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit, + @NonNull Scheduler scheduler) { return window(timespan, unit, scheduler, Long.MAX_VALUE, false); } @@ -17853,8 +18120,9 @@ public final Flowable> window(long timespan, TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> window(long timespan, TimeUnit unit, - Scheduler scheduler, long count) { + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit, + @NonNull Scheduler scheduler, long count) { return window(timespan, unit, scheduler, count, false); } @@ -17900,8 +18168,9 @@ public final Flowable> window(long timespan, TimeUnit unit, @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Flowable> window(long timespan, TimeUnit unit, - Scheduler scheduler, long count, boolean restart) { + @NonNull + public final Flowable> window(long timespan, @NonNull TimeUnit unit, + @NonNull Scheduler scheduler, long count, boolean restart) { return window(timespan, unit, scheduler, count, restart, bufferSize()); } @@ -17951,13 +18220,13 @@ public final Flowable> window(long timespan, TimeUnit unit, @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.CUSTOM) public final Flowable> window( - long timespan, TimeUnit unit, Scheduler scheduler, + long timespan, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, long count, boolean restart, int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(unit, "unit is null"); ObjectHelper.verifyPositive(count, "count"); - return RxJavaPlugins.onAssembly(new FlowableWindowTimed(this, timespan, timespan, unit, scheduler, count, bufferSize, restart)); + return RxJavaPlugins.onAssembly(new FlowableWindowTimed<>(this, timespan, timespan, unit, scheduler, count, bufferSize, restart)); } /** @@ -17991,7 +18260,8 @@ public final Flowable> window( @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> window(Publisher boundaryIndicator) { + @NonNull + public final Flowable> window(@NonNull Publisher boundaryIndicator) { return window(boundaryIndicator, bufferSize()); } @@ -18029,10 +18299,10 @@ public final Flowable> window(Publisher boundaryIndicator) { @NonNull @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable> window(Publisher boundaryIndicator, int bufferSize) { + public final Flowable> window(@NonNull Publisher boundaryIndicator, int bufferSize) { Objects.requireNonNull(boundaryIndicator, "boundaryIndicator is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableWindowBoundary(this, boundaryIndicator, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableWindowBoundary<>(this, boundaryIndicator, bufferSize)); } /** @@ -18071,9 +18341,10 @@ public final Flowable> window(Publisher boundaryIndicator, in @CheckReturnValue @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable> window( - Publisher openingIndicator, - Function> closingIndicator) { + @NonNull Publisher openingIndicator, + @NonNull Function> closingIndicator) { return window(openingIndicator, closingIndicator, bufferSize()); } @@ -18117,12 +18388,12 @@ public final Flowable> window( @BackpressureSupport(BackpressureKind.ERROR) @SchedulerSupport(SchedulerSupport.NONE) public final Flowable> window( - Publisher openingIndicator, - Function> closingIndicator, int bufferSize) { + @NonNull Publisher openingIndicator, + @NonNull Function> closingIndicator, int bufferSize) { Objects.requireNonNull(openingIndicator, "openingIndicator is null"); Objects.requireNonNull(closingIndicator, "closingIndicator is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new FlowableWindowBoundarySelector(this, openingIndicator, closingIndicator, bufferSize)); + return RxJavaPlugins.onAssembly(new FlowableWindowBoundarySelector<>(this, openingIndicator, closingIndicator, bufferSize)); } /** @@ -18157,8 +18428,8 @@ public final Flowable> window( @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable withLatestFrom(Publisher other, - BiFunction combiner) { + public final Flowable withLatestFrom(@NonNull Publisher other, + @NonNull BiFunction combiner) { Objects.requireNonNull(other, "other is null"); Objects.requireNonNull(combiner, "combiner is null"); @@ -18195,8 +18466,8 @@ public final Flowable withLatestFrom(Publisher other, @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable withLatestFrom(Publisher source1, Publisher source2, - Function3 combiner) { + public final Flowable withLatestFrom(@NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Function3 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Function f = Functions.toFunction(combiner); @@ -18235,10 +18506,10 @@ public final Flowable withLatestFrom(Publisher source1, Publi @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable withLatestFrom( - Publisher source1, Publisher source2, - Publisher source3, - Function4 combiner) { + public final Flowable withLatestFrom( + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, + @NonNull Function4 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -18280,10 +18551,10 @@ public final Flowable withLatestFrom( @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable withLatestFrom( - Publisher source1, Publisher source2, - Publisher source3, Publisher source4, - Function5 combiner) { + public final Flowable withLatestFrom( + @NonNull Publisher source1, @NonNull Publisher source2, + @NonNull Publisher source3, @NonNull Publisher source4, + @NonNull Function5 combiner) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -18319,10 +18590,10 @@ public final Flowable withLatestFrom( @NonNull @BackpressureSupport(BackpressureKind.PASS_THROUGH) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable withLatestFrom(Publisher[] others, Function combiner) { + public final <@NonNull R> Flowable withLatestFrom(@NonNull Publisher[] others, @NonNull Function combiner) { Objects.requireNonNull(others, "others is null"); Objects.requireNonNull(combiner, "combiner is null"); - return RxJavaPlugins.onAssembly(new FlowableWithLatestFromMany(this, others, combiner)); + return RxJavaPlugins.onAssembly(new FlowableWithLatestFromMany<>(this, others, combiner)); } /** @@ -18352,10 +18623,10 @@ public final Flowable withLatestFrom(Publisher[] others, Function Flowable withLatestFrom(Iterable> others, Function combiner) { + public final Flowable withLatestFrom(@NonNull Iterable> others, @NonNull Function combiner) { Objects.requireNonNull(others, "others is null"); Objects.requireNonNull(combiner, "combiner is null"); - return RxJavaPlugins.onAssembly(new FlowableWithLatestFromMany(this, others, combiner)); + return RxJavaPlugins.onAssembly(new FlowableWithLatestFromMany<>(this, others, combiner)); } /** @@ -18392,7 +18663,7 @@ public final Flowable withLatestFrom(Iterable> oth @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable zipWith(Iterable other, BiFunction zipper) { + public final Flowable zipWith(@NonNull Iterable other, @NonNull BiFunction zipper) { Objects.requireNonNull(other, "other is null"); Objects.requireNonNull(zipper, "zipper is null"); return RxJavaPlugins.onAssembly(new FlowableZipIterable(this, other, zipper)); @@ -18441,7 +18712,7 @@ public final Flowable zipWith(Iterable other, BiFunction Flowable zipWith(Publisher other, BiFunction zipper) { + public final Flowable zipWith(@NonNull Publisher other, @NonNull BiFunction zipper) { Objects.requireNonNull(other, "other is null"); return zip(this, other, zipper); } @@ -18491,8 +18762,9 @@ public final Flowable zipWith(Publisher other, BiFunction @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable zipWith(Publisher other, - BiFunction zipper, boolean delayError) { + @NonNull + public final Flowable zipWith(@NonNull Publisher other, + @NonNull BiFunction zipper, boolean delayError) { return zip(this, other, zipper, delayError); } @@ -18543,8 +18815,9 @@ public final Flowable zipWith(Publisher other, @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable zipWith(Publisher other, - BiFunction zipper, boolean delayError, int bufferSize) { + @NonNull + public final Flowable zipWith(@NonNull Publisher other, + @NonNull BiFunction zipper, boolean delayError, int bufferSize) { return zip(this, other, zipper, delayError, bufferSize); } @@ -18566,8 +18839,9 @@ public final Flowable zipWith(Publisher other, @CheckReturnValue @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestSubscriber test() { // NoPMD - TestSubscriber ts = new TestSubscriber(); + TestSubscriber ts = new TestSubscriber<>(); subscribe(ts); return ts; } @@ -18588,8 +18862,9 @@ public final TestSubscriber test() { // NoPMD @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestSubscriber test(long initialRequest) { // NoPMD - TestSubscriber ts = new TestSubscriber(initialRequest); + TestSubscriber ts = new TestSubscriber<>(initialRequest); subscribe(ts); return ts; } @@ -18612,8 +18887,9 @@ public final TestSubscriber test(long initialRequest) { // NoPMD @CheckReturnValue @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestSubscriber test(long initialRequest, boolean cancel) { // NoPMD - TestSubscriber ts = new TestSubscriber(initialRequest); + TestSubscriber ts = new TestSubscriber<>(initialRequest); if (cancel) { ts.cancel(); } diff --git a/src/main/java/io/reactivex/rxjava3/core/Maybe.java b/src/main/java/io/reactivex/rxjava3/core/Maybe.java index 35484ebef4..bb0a6dcbdb 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Maybe.java +++ b/src/main/java/io/reactivex/rxjava3/core/Maybe.java @@ -129,7 +129,7 @@ public abstract class Maybe implements MaybeSource { @SchedulerSupport(SchedulerSupport.NONE) public static Maybe amb(final Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); - return RxJavaPlugins.onAssembly(new MaybeAmb(null, sources)); + return RxJavaPlugins.onAssembly(new MaybeAmb<>(null, sources)); } /** @@ -148,15 +148,18 @@ public static Maybe amb(final Iterable */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") - public static Maybe ambArray(final MaybeSource... sources) { + @NonNull + @SafeVarargs + public static Maybe ambArray(@NonNull MaybeSource... sources) { if (sources.length == 0) { return empty(); } if (sources.length == 1) { - return wrap((MaybeSource)sources[0]); + @SuppressWarnings("unchecked") + MaybeSource source = (MaybeSource)sources[0]; + return wrap(source); } - return RxJavaPlugins.onAssembly(new MaybeAmb(sources, null)); + return RxJavaPlugins.onAssembly(new MaybeAmb<>(sources, null)); } /** @@ -178,9 +181,9 @@ public static Maybe ambArray(final MaybeSource... sources) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Iterable> sources) { + public static Flowable concat(@NonNull Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); - return RxJavaPlugins.onAssembly(new MaybeConcatIterable(sources)); + return RxJavaPlugins.onAssembly(new MaybeConcatIterable<>(sources)); } /** @@ -206,8 +209,7 @@ public static Flowable concat(Iterable @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") - public static Flowable concat(MaybeSource source1, MaybeSource source2) { + public static Flowable concat(@NonNull MaybeSource source1, @NonNull MaybeSource source2) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return concatArray(source1, source2); @@ -238,9 +240,8 @@ public static Flowable concat(MaybeSource source1, MaybeSour @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable concat( - MaybeSource source1, MaybeSource source2, MaybeSource source3) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -274,9 +275,8 @@ public static Flowable concat( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable concat( - MaybeSource source1, MaybeSource source2, MaybeSource source3, MaybeSource source4) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, @NonNull MaybeSource source4) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -304,7 +304,8 @@ public static Flowable concat( @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concat(Publisher> sources) { + @NonNull + public static Flowable concat(@NonNull Publisher> sources) { return concat(sources, 2); } @@ -331,7 +332,7 @@ public static Flowable concat(Publisher Flowable concat(Publisher> sources, int prefetch) { + public static Flowable concat(@NonNull Publisher> sources, int prefetch) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); return RxJavaPlugins.onAssembly(new FlowableConcatMapPublisher(sources, MaybeToPublisher.instance(), prefetch, ErrorMode.IMMEDIATE)); @@ -355,16 +356,18 @@ public static Flowable concat(Publisher Flowable concatArray(MaybeSource... sources) { + @SafeVarargs + public static Flowable concatArray(@NonNull MaybeSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return Flowable.empty(); } if (sources.length == 1) { - return RxJavaPlugins.onAssembly(new MaybeToFlowable((MaybeSource)sources[0])); + @SuppressWarnings("unchecked") + MaybeSource source = (MaybeSource)sources[0]; + return RxJavaPlugins.onAssembly(new MaybeToFlowable<>(source)); } - return RxJavaPlugins.onAssembly(new MaybeConcatArray(sources)); + return RxJavaPlugins.onAssembly(new MaybeConcatArray<>(sources)); } /** @@ -383,18 +386,21 @@ public static Flowable concatArray(MaybeSource... sources) { * @return the new Flowable instance * @throws NullPointerException if sources is null */ - @SuppressWarnings("unchecked") @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concatArrayDelayError(MaybeSource... sources) { + @SafeVarargs + @NonNull + public static Flowable concatArrayDelayError(@NonNull MaybeSource... sources) { if (sources.length == 0) { return Flowable.empty(); } else if (sources.length == 1) { - return RxJavaPlugins.onAssembly(new MaybeToFlowable((MaybeSource)sources[0])); + @SuppressWarnings("unchecked") + MaybeSource source = (MaybeSource)sources[0]; + return RxJavaPlugins.onAssembly(new MaybeToFlowable<>(source)); } - return RxJavaPlugins.onAssembly(new MaybeConcatArrayDelayError(sources)); + return RxJavaPlugins.onAssembly(new MaybeConcatArrayDelayError<>(sources)); } /** @@ -419,7 +425,9 @@ public static Flowable concatArrayDelayError(MaybeSource... @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concatArrayEager(MaybeSource... sources) { + @NonNull + @SafeVarargs + public static Flowable concatArrayEager(@NonNull MaybeSource... sources) { return Flowable.fromArray(sources).concatMapEager((Function)MaybeToPublisher.instance()); } @@ -469,7 +477,8 @@ public static Flowable concatDelayError(Iterable Flowable concatDelayError(Publisher> sources) { + @NonNull + public static Flowable concatDelayError(@NonNull Publisher> sources) { return Flowable.fromPublisher(sources).concatMapDelayError((Function)MaybeToPublisher.instance()); } @@ -495,7 +504,8 @@ public static Flowable concatDelayError(Publisher Flowable concatEager(Iterable> sources) { + @NonNull + public static Flowable concatEager(@NonNull Iterable> sources) { return Flowable.fromIterable(sources).concatMapEager((Function)MaybeToPublisher.instance()); } @@ -523,7 +533,8 @@ public static Flowable concatEager(Iterable Flowable concatEager(Publisher> sources) { + @NonNull + public static Flowable concatEager(@NonNull Publisher> sources) { return Flowable.fromPublisher(sources).concatMapEager((Function)MaybeToPublisher.instance()); } @@ -574,9 +585,9 @@ public static Flowable concatEager(Publisher Maybe create(MaybeOnSubscribe onSubscribe) { + public static Maybe create(@NonNull MaybeOnSubscribe onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); - return RxJavaPlugins.onAssembly(new MaybeCreate(onSubscribe)); + return RxJavaPlugins.onAssembly(new MaybeCreate<>(onSubscribe)); } /** @@ -594,9 +605,9 @@ public static Maybe create(MaybeOnSubscribe onSubscribe) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe defer(final Supplier> maybeSupplier) { + public static Maybe defer(@NonNull Supplier> maybeSupplier) { Objects.requireNonNull(maybeSupplier, "maybeSupplier is null"); - return RxJavaPlugins.onAssembly(new MaybeDefer(maybeSupplier)); + return RxJavaPlugins.onAssembly(new MaybeDefer<>(maybeSupplier)); } /** @@ -614,6 +625,7 @@ public static Maybe defer(final Supplier Maybe empty() { return RxJavaPlugins.onAssembly((Maybe)MaybeEmpty.INSTANCE); } @@ -639,7 +651,7 @@ public static Maybe empty() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe error(Throwable exception) { + public static Maybe error(@NonNull Throwable exception) { Objects.requireNonNull(exception, "exception is null"); return RxJavaPlugins.onAssembly(new MaybeError(exception)); } @@ -665,7 +677,7 @@ public static Maybe error(Throwable exception) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe error(Supplier supplier) { + public static Maybe error(@NonNull Supplier supplier) { Objects.requireNonNull(supplier, "errorSupplier is null"); return RxJavaPlugins.onAssembly(new MaybeErrorCallable(supplier)); } @@ -692,7 +704,7 @@ public static Maybe error(Supplier supplier) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromAction(final Action run) { + public static Maybe fromAction(@NonNull Action run) { Objects.requireNonNull(run, "run is null"); return RxJavaPlugins.onAssembly(new MaybeFromAction(run)); } @@ -712,7 +724,7 @@ public static Maybe fromAction(final Action run) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromCompletable(CompletableSource completableSource) { + public static Maybe fromCompletable(@NonNull CompletableSource completableSource) { Objects.requireNonNull(completableSource, "completableSource is null"); return RxJavaPlugins.onAssembly(new MaybeFromCompletable(completableSource)); } @@ -732,9 +744,9 @@ public static Maybe fromCompletable(CompletableSource completableSource) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromSingle(SingleSource singleSource) { + public static Maybe fromSingle(@NonNull SingleSource singleSource) { Objects.requireNonNull(singleSource, "singleSource is null"); - return RxJavaPlugins.onAssembly(new MaybeFromSingle(singleSource)); + return RxJavaPlugins.onAssembly(new MaybeFromSingle<>(singleSource)); } /** @@ -776,7 +788,7 @@ public static Maybe fromSingle(SingleSource singleSource) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromCallable(@NonNull final Callable callable) { + public static <@NonNull T> Maybe fromCallable(@NonNull final Callable callable) { Objects.requireNonNull(callable, "callable is null"); return RxJavaPlugins.onAssembly(new MaybeFromCallable(callable)); } @@ -810,7 +822,7 @@ public static Maybe fromCallable(@NonNull final Callable cal @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromFuture(Future future) { + public static <@NonNull T> Maybe fromFuture(@NonNull Future future) { Objects.requireNonNull(future, "future is null"); return RxJavaPlugins.onAssembly(new MaybeFromFuture(future, 0L, null)); } @@ -848,7 +860,7 @@ public static Maybe fromFuture(Future future) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromFuture(Future future, long timeout, TimeUnit unit) { + public static <@NonNull T> Maybe fromFuture(@NonNull Future future, long timeout, @NonNull TimeUnit unit) { Objects.requireNonNull(future, "future is null"); Objects.requireNonNull(unit, "unit is null"); return RxJavaPlugins.onAssembly(new MaybeFromFuture(future, timeout, unit)); @@ -869,7 +881,7 @@ public static Maybe fromFuture(Future future, long timeout, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromRunnable(final Runnable run) { + public static Maybe fromRunnable(@NonNull Runnable run) { Objects.requireNonNull(run, "run is null"); return RxJavaPlugins.onAssembly(new MaybeFromRunnable(run)); } @@ -916,7 +928,7 @@ public static Maybe fromRunnable(final Runnable run) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe fromSupplier(@NonNull final Supplier supplier) { + public static <@NonNull T> Maybe fromSupplier(@NonNull final Supplier supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new MaybeFromSupplier(supplier)); } @@ -943,9 +955,9 @@ public static Maybe fromSupplier(@NonNull final Supplier sup @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe just(T item) { + public static <@NonNull T> Maybe just(T item) { Objects.requireNonNull(item, "item is null"); - return RxJavaPlugins.onAssembly(new MaybeJust(item)); + return RxJavaPlugins.onAssembly(new MaybeJust<>(item)); } /** @@ -978,7 +990,8 @@ public static Maybe just(T item) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Iterable> sources) { + @NonNull + public static Flowable merge(@NonNull Iterable> sources) { return merge(Flowable.fromIterable(sources)); } @@ -1012,7 +1025,8 @@ public static Flowable merge(Iterable> @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable merge(Publisher> sources) { + @NonNull + public static Flowable merge(@NonNull Publisher> sources) { return merge(sources, Integer.MAX_VALUE); } @@ -1049,7 +1063,7 @@ public static Flowable merge(Publisher @NonNull @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Flowable merge(Publisher> sources, int maxConcurrency) { + public static Flowable merge(@NonNull Publisher> sources, int maxConcurrency) { Objects.requireNonNull(sources, "source is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); return RxJavaPlugins.onAssembly(new FlowableFlatMapPublisher(sources, MaybeToPublisher.instance(), false, maxConcurrency, 1)); @@ -1082,7 +1096,7 @@ public static Flowable merge(Publisher @NonNull @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Maybe merge(MaybeSource> source) { + public static Maybe merge(@NonNull MaybeSource> source) { Objects.requireNonNull(source, "source is null"); return RxJavaPlugins.onAssembly(new MaybeFlatten(source, Functions.identity())); } @@ -1127,9 +1141,8 @@ public static Maybe merge(MaybeSource> @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable merge( - MaybeSource source1, MaybeSource source2 + @NonNull MaybeSource source1, @NonNull MaybeSource source2 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1178,10 +1191,9 @@ public static Flowable merge( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable merge( - MaybeSource source1, MaybeSource source2, - MaybeSource source3 + @NonNull MaybeSource source1, @NonNull MaybeSource source2, + @NonNull MaybeSource source3 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1233,10 +1245,9 @@ public static Flowable merge( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable merge( - MaybeSource source1, MaybeSource source2, - MaybeSource source3, MaybeSource source4 + @NonNull MaybeSource source1, @NonNull MaybeSource source2, + @NonNull MaybeSource source3, @NonNull MaybeSource source4 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1276,16 +1287,18 @@ public static Flowable merge( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") + @SafeVarargs public static Flowable mergeArray(MaybeSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return Flowable.empty(); } if (sources.length == 1) { - return RxJavaPlugins.onAssembly(new MaybeToFlowable((MaybeSource)sources[0])); + @SuppressWarnings("unchecked") + MaybeSource source = (MaybeSource)sources[0]; + return RxJavaPlugins.onAssembly(new MaybeToFlowable<>(source)); } - return RxJavaPlugins.onAssembly(new MaybeMergeArray(sources)); + return RxJavaPlugins.onAssembly(new MaybeMergeArray<>(sources)); } /** @@ -1319,7 +1332,9 @@ public static Flowable mergeArray(MaybeSource... sources) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeArrayDelayError(MaybeSource... sources) { + @SafeVarargs + @NonNull + public static Flowable mergeArrayDelayError(@NonNull MaybeSource... sources) { if (sources.length == 0) { return Flowable.empty(); } @@ -1357,7 +1372,8 @@ public static Flowable mergeArrayDelayError(MaybeSource... s @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Iterable> sources) { + @NonNull + public static Flowable mergeDelayError(@NonNull Iterable> sources) { return Flowable.fromIterable(sources).flatMap((Function)MaybeToPublisher.instance(), true); } @@ -1392,7 +1408,8 @@ public static Flowable mergeDelayError(Iterable Flowable mergeDelayError(Publisher> sources) { + @NonNull + public static Flowable mergeDelayError(@NonNull Publisher> sources) { return mergeDelayError(sources, Integer.MAX_VALUE); } @@ -1431,7 +1448,7 @@ public static Flowable mergeDelayError(Publisher Flowable mergeDelayError(Publisher> sources, int maxConcurrency) { + public static Flowable mergeDelayError(@NonNull Publisher> sources, int maxConcurrency) { Objects.requireNonNull(sources, "source is null"); ObjectHelper.verifyPositive(maxConcurrency, "maxConcurrency"); return RxJavaPlugins.onAssembly(new FlowableFlatMapPublisher(sources, MaybeToPublisher.instance(), true, maxConcurrency, 1)); @@ -1465,12 +1482,11 @@ public static Flowable mergeDelayError(PublisherReactiveX operators documentation: Merge */ - @SuppressWarnings({ "unchecked" }) @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(MaybeSource source1, MaybeSource source2) { + public static Flowable mergeDelayError(@NonNull MaybeSource source1, @NonNull MaybeSource source2) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return mergeArrayDelayError(source1, source2); @@ -1507,13 +1523,12 @@ public static Flowable mergeDelayError(MaybeSource source1, * @return a Flowable that emits all of the items that are emitted by the source MaybeSources * @see ReactiveX operators documentation: Merge */ - @SuppressWarnings({ "unchecked" }) @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(MaybeSource source1, - MaybeSource source2, MaybeSource source3) { + public static Flowable mergeDelayError(@NonNull MaybeSource source1, + @NonNull MaybeSource source2, @NonNull MaybeSource source3) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1553,14 +1568,13 @@ public static Flowable mergeDelayError(MaybeSource source1, * @return a Flowable that emits all of the items that are emitted by the source MaybeSources * @see ReactiveX operators documentation: Merge */ - @SuppressWarnings({ "unchecked" }) @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Flowable mergeDelayError( - MaybeSource source1, MaybeSource source2, - MaybeSource source3, MaybeSource source4) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, + @NonNull MaybeSource source3, @NonNull MaybeSource source4) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1587,6 +1601,7 @@ public static Flowable mergeDelayError( @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public static Maybe never() { return RxJavaPlugins.onAssembly((Maybe)MaybeNever.INSTANCE); } @@ -1612,7 +1627,8 @@ public static Maybe never() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(MaybeSource source1, MaybeSource source2) { + @NonNull + public static Single sequenceEqual(@NonNull MaybeSource source1, @NonNull MaybeSource source2) { return sequenceEqual(source1, source2, ObjectHelper.equalsPredicate()); } @@ -1642,12 +1658,12 @@ public static Single sequenceEqual(MaybeSource source1 @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single sequenceEqual(MaybeSource source1, MaybeSource source2, - BiPredicate isEqual) { + public static Single sequenceEqual(@NonNull MaybeSource source1, @NonNull MaybeSource source2, + @NonNull BiPredicate isEqual) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(isEqual, "isEqual is null"); - return RxJavaPlugins.onAssembly(new MaybeEqualSingle(source1, source2, isEqual)); + return RxJavaPlugins.onAssembly(new MaybeEqualSingle<>(source1, source2, isEqual)); } /** @@ -1668,7 +1684,8 @@ public static Single sequenceEqual(MaybeSource source1 */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public static Maybe timer(long delay, TimeUnit unit) { + @NonNull + public static Maybe timer(long delay, @NonNull TimeUnit unit) { return timer(delay, unit, Schedulers.computation()); } @@ -1693,7 +1710,7 @@ public static Maybe timer(long delay, TimeUnit unit) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Maybe timer(long delay, TimeUnit unit, Scheduler scheduler) { + public static Maybe timer(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); @@ -1714,12 +1731,12 @@ public static Maybe timer(long delay, TimeUnit unit, Scheduler scheduler) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe unsafeCreate(MaybeSource onSubscribe) { + public static Maybe unsafeCreate(@NonNull MaybeSource onSubscribe) { if (onSubscribe instanceof Maybe) { throw new IllegalArgumentException("unsafeCreate(Maybe) should be upgraded"); } Objects.requireNonNull(onSubscribe, "onSubscribe is null"); - return RxJavaPlugins.onAssembly(new MaybeUnsafeCreate(onSubscribe)); + return RxJavaPlugins.onAssembly(new MaybeUnsafeCreate<>(onSubscribe)); } /** @@ -1745,9 +1762,10 @@ public static Maybe unsafeCreate(MaybeSource onSubscribe) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe using(Supplier resourceSupplier, - Function> sourceSupplier, - Consumer resourceDisposer) { + @NonNull + public static Maybe using(@NonNull Supplier resourceSupplier, + @NonNull Function> sourceSupplier, + @NonNull Consumer resourceDisposer) { return using(resourceSupplier, sourceSupplier, resourceDisposer, true); } @@ -1783,9 +1801,9 @@ public static Maybe using(Supplier resourceSupplier, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe using(Supplier resourceSupplier, - Function> sourceSupplier, - Consumer resourceDisposer, boolean eager) { + public static Maybe using(@NonNull Supplier resourceSupplier, + @NonNull Function> sourceSupplier, + @NonNull Consumer resourceDisposer, boolean eager) { Objects.requireNonNull(resourceSupplier, "resourceSupplier is null"); Objects.requireNonNull(sourceSupplier, "sourceSupplier is null"); Objects.requireNonNull(resourceDisposer, "disposer is null"); @@ -1806,12 +1824,12 @@ public static Maybe using(Supplier resourceSupplier, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe wrap(MaybeSource source) { + public static Maybe wrap(@NonNull MaybeSource source) { if (source instanceof Maybe) { return RxJavaPlugins.onAssembly((Maybe)source); } Objects.requireNonNull(source, "onSubscribe is null"); - return RxJavaPlugins.onAssembly(new MaybeUnsafeCreate(source)); + return RxJavaPlugins.onAssembly(new MaybeUnsafeCreate<>(source)); } /** @@ -1844,7 +1862,7 @@ public static Maybe wrap(MaybeSource source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe zip(Iterable> sources, Function zipper) { + public static Maybe zip(@NonNull Iterable> sources, @NonNull Function zipper) { Objects.requireNonNull(zipper, "zipper is null"); Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new MaybeZipIterable(sources, zipper)); @@ -1876,13 +1894,12 @@ public static Maybe zip(Iterable> s * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, - BiFunction zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, + @NonNull BiFunction zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); return zipArray(Functions.toFunction(zipper), source1, source2); @@ -1917,13 +1934,12 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - Function3 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull Function3 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -1962,14 +1978,13 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, - Function4 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, + @NonNull Function4 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -2012,14 +2027,13 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, MaybeSource source5, - Function5 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, @NonNull MaybeSource source5, + @NonNull Function5 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -2066,14 +2080,13 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, MaybeSource source5, MaybeSource source6, - Function6 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, @NonNull MaybeSource source5, @NonNull MaybeSource source6, + @NonNull Function6 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -2124,15 +2137,14 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, MaybeSource source5, MaybeSource source6, - MaybeSource source7, - Function7 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, @NonNull MaybeSource source5, @NonNull MaybeSource source6, + @NonNull MaybeSource source7, + @NonNull Function7 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -2187,15 +2199,14 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, MaybeSource source5, MaybeSource source6, - MaybeSource source7, MaybeSource source8, - Function8 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, @NonNull MaybeSource source5, @NonNull MaybeSource source6, + @NonNull MaybeSource source7, @NonNull MaybeSource source8, + @NonNull Function8 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(source3, "source3 is null"); @@ -2253,15 +2264,14 @@ public static Maybe zip( * @return a Maybe that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Maybe zip( - MaybeSource source1, MaybeSource source2, MaybeSource source3, - MaybeSource source4, MaybeSource source5, MaybeSource source6, - MaybeSource source7, MaybeSource source8, MaybeSource source9, - Function9 zipper) { + @NonNull MaybeSource source1, @NonNull MaybeSource source2, @NonNull MaybeSource source3, + @NonNull MaybeSource source4, @NonNull MaybeSource source5, @NonNull MaybeSource source6, + @NonNull MaybeSource source7, @NonNull MaybeSource source8, @NonNull MaybeSource source9, + @NonNull Function9 zipper) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -2305,8 +2315,9 @@ public static Maybe zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Maybe zipArray(Function zipper, - MaybeSource... sources) { + @SafeVarargs + public static Maybe zipArray(@NonNull Function zipper, + @NonNull MaybeSource... sources) { Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { return empty(); @@ -2335,11 +2346,10 @@ public static Maybe zipArray(Function z * signalled * @see ReactiveX operators documentation: Amb */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe ambWith(MaybeSource other) { + public final Maybe ambWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); return ambArray(this, other); } @@ -2359,8 +2369,9 @@ public final Maybe ambWith(MaybeSource other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @Nullable public final T blockingGet() { - BlockingMultiObserver observer = new BlockingMultiObserver(); + BlockingMultiObserver observer = new BlockingMultiObserver<>(); subscribe(observer); return observer.blockingGet(); } @@ -2381,9 +2392,10 @@ public final T blockingGet() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final T blockingGet(T defaultValue) { + @Nullable + public final T blockingGet(@Nullable T defaultValue) { Objects.requireNonNull(defaultValue, "defaultValue is null"); - BlockingMultiObserver observer = new BlockingMultiObserver(); + BlockingMultiObserver observer = new BlockingMultiObserver<>(); subscribe(observer); return observer.blockingGet(defaultValue); } @@ -2409,8 +2421,9 @@ public final T blockingGet(T defaultValue) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe cache() { - return RxJavaPlugins.onAssembly(new MaybeCache(this)); + return RxJavaPlugins.onAssembly(new MaybeCache<>(this)); } /** @@ -2429,7 +2442,7 @@ public final Maybe cache() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe cast(final Class clazz) { + public final Maybe cast(@NonNull Class clazz) { Objects.requireNonNull(clazz, "clazz is null"); return map(Functions.castFunction(clazz)); } @@ -2455,7 +2468,8 @@ public final Maybe cast(final Class clazz) { @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe compose(MaybeTransformer transformer) { + @NonNull + public final Maybe compose(@NonNull MaybeTransformer transformer) { return wrap(((MaybeTransformer) Objects.requireNonNull(transformer, "transformer is null")).apply(this)); } @@ -2478,9 +2492,9 @@ public final Maybe compose(MaybeTransformer trans @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe concatMap(Function> mapper) { + public final Maybe concatMap(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatten(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatten<>(this, mapper)); } /** @@ -2505,7 +2519,7 @@ public final Maybe concatMap(Function concatWith(MaybeSource other) { + public final Flowable concatWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); return concat(this, other); } @@ -2529,9 +2543,9 @@ public final Flowable concatWith(MaybeSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single contains(final Object item) { + public final Single contains(@NonNull Object item) { Objects.requireNonNull(item, "item is null"); - return RxJavaPlugins.onAssembly(new MaybeContains(this, item)); + return RxJavaPlugins.onAssembly(new MaybeContains<>(this, item)); } /** @@ -2550,8 +2564,9 @@ public final Single contains(final Object item) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single count() { - return RxJavaPlugins.onAssembly(new MaybeCount(this)); + return RxJavaPlugins.onAssembly(new MaybeCount<>(this)); } /** @@ -2573,9 +2588,9 @@ public final Single count() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single defaultIfEmpty(T defaultItem) { + public final Single defaultIfEmpty(@NonNull T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new MaybeToSingle(this, defaultItem)); + return RxJavaPlugins.onAssembly(new MaybeToSingle<>(this, defaultItem)); } /** @@ -2598,7 +2613,8 @@ public final Single defaultIfEmpty(T defaultItem) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Maybe delay(long delay, TimeUnit unit) { + @NonNull + public final Maybe delay(long delay, @NonNull TimeUnit unit) { return delay(delay, unit, Schedulers.computation()); } @@ -2624,10 +2640,10 @@ public final Maybe delay(long delay, TimeUnit unit) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Maybe delay(long delay, TimeUnit unit, Scheduler scheduler) { + public final Maybe delay(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new MaybeDelay(this, Math.max(0L, delay), unit, scheduler)); + return RxJavaPlugins.onAssembly(new MaybeDelay<>(this, Math.max(0L, delay), unit, scheduler)); } /** @@ -2644,8 +2660,6 @@ public final Maybe delay(long delay, TimeUnit unit, Scheduler scheduler) { * * @param * the subscription delay value type (ignored) - * @param - * the item delay value type (ignored) * @param delayIndicator * the Publisher that gets subscribed to when this Maybe signals an event and that * signal is emitted when the Publisher signals an item or completes @@ -2656,9 +2670,9 @@ public final Maybe delay(long delay, TimeUnit unit, Scheduler scheduler) { @NonNull @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.UNBOUNDED_IN) - public final Maybe delay(Publisher delayIndicator) { + public final Maybe delay(@NonNull Publisher delayIndicator) { Objects.requireNonNull(delayIndicator, "delayIndicator is null"); - return RxJavaPlugins.onAssembly(new MaybeDelayOtherPublisher(this, delayIndicator)); + return RxJavaPlugins.onAssembly(new MaybeDelayOtherPublisher<>(this, delayIndicator)); } /** @@ -2683,9 +2697,9 @@ public final Maybe delay(Publisher delayIndicator) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe delaySubscription(Publisher subscriptionIndicator) { + public final Maybe delaySubscription(@NonNull Publisher subscriptionIndicator) { Objects.requireNonNull(subscriptionIndicator, "subscriptionIndicator is null"); - return RxJavaPlugins.onAssembly(new MaybeDelaySubscriptionOtherPublisher(this, subscriptionIndicator)); + return RxJavaPlugins.onAssembly(new MaybeDelaySubscriptionOtherPublisher<>(this, subscriptionIndicator)); } /** @@ -2707,7 +2721,8 @@ public final Maybe delaySubscription(Publisher subscriptionIndicator) */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Maybe delaySubscription(long delay, TimeUnit unit) { + @NonNull + public final Maybe delaySubscription(long delay, @NonNull TimeUnit unit) { return delaySubscription(delay, unit, Schedulers.computation()); } @@ -2733,7 +2748,8 @@ public final Maybe delaySubscription(long delay, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Maybe delaySubscription(long delay, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Maybe delaySubscription(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delaySubscription(Flowable.timer(delay, unit, scheduler)); } @@ -2753,9 +2769,9 @@ public final Maybe delaySubscription(long delay, TimeUnit unit, Scheduler sch @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doAfterSuccess(Consumer onAfterSuccess) { + public final Maybe doAfterSuccess(@NonNull Consumer onAfterSuccess) { Objects.requireNonNull(onAfterSuccess, "onAfterSuccess is null"); - return RxJavaPlugins.onAssembly(new MaybeDoAfterSuccess(this, onAfterSuccess)); + return RxJavaPlugins.onAssembly(new MaybeDoAfterSuccess<>(this, onAfterSuccess)); } /** @@ -2778,8 +2794,8 @@ public final Maybe doAfterSuccess(Consumer onAfterSuccess) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doAfterTerminate(Action onAfterTerminate) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doAfterTerminate(@NonNull Action onAfterTerminate) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Functions.emptyConsumer(), // onSubscribe Functions.emptyConsumer(), // onSuccess Functions.emptyConsumer(), // onError @@ -2808,9 +2824,9 @@ public final Maybe doAfterTerminate(Action onAfterTerminate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doFinally(Action onFinally) { + public final Maybe doFinally(@NonNull Action onFinally) { Objects.requireNonNull(onFinally, "onFinally is null"); - return RxJavaPlugins.onAssembly(new MaybeDoFinally(this, onFinally)); + return RxJavaPlugins.onAssembly(new MaybeDoFinally<>(this, onFinally)); } /** @@ -2827,8 +2843,8 @@ public final Maybe doFinally(Action onFinally) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnDispose(Action onDispose) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doOnDispose(@NonNull Action onDispose) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Functions.emptyConsumer(), // onSubscribe Functions.emptyConsumer(), // onSuccess Functions.emptyConsumer(), // onError @@ -2855,8 +2871,8 @@ public final Maybe doOnDispose(Action onDispose) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnComplete(Action onComplete) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doOnComplete(@NonNull Action onComplete) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Functions.emptyConsumer(), // onSubscribe Functions.emptyConsumer(), // onSuccess Functions.emptyConsumer(), // onError @@ -2881,8 +2897,8 @@ public final Maybe doOnComplete(Action onComplete) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnError(Consumer onError) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doOnError(@NonNull Consumer onError) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Functions.emptyConsumer(), // onSubscribe Functions.emptyConsumer(), // onSuccess Objects.requireNonNull(onError, "onError is null"), @@ -2910,9 +2926,10 @@ public final Maybe doOnError(Consumer onError) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnEvent(BiConsumer onEvent) { + @NonNull + public final Maybe doOnEvent(@NonNull BiConsumer onEvent) { Objects.requireNonNull(onEvent, "onEvent is null"); - return RxJavaPlugins.onAssembly(new MaybeDoOnEvent(this, onEvent)); + return RxJavaPlugins.onAssembly(new MaybeDoOnEvent<>(this, onEvent)); } /** @@ -2928,8 +2945,8 @@ public final Maybe doOnEvent(BiConsumer onEvent @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnSubscribe(Consumer onSubscribe) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doOnSubscribe(@NonNull Consumer onSubscribe) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Objects.requireNonNull(onSubscribe, "onSubscribe is null"), Functions.emptyConsumer(), // onSuccess Functions.emptyConsumer(), // onError @@ -2961,9 +2978,9 @@ public final Maybe doOnSubscribe(Consumer onSubscribe) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnTerminate(final Action onTerminate) { + public final Maybe doOnTerminate(@NonNull Action onTerminate) { Objects.requireNonNull(onTerminate, "onTerminate is null"); - return RxJavaPlugins.onAssembly(new MaybeDoOnTerminate(this, onTerminate)); + return RxJavaPlugins.onAssembly(new MaybeDoOnTerminate<>(this, onTerminate)); } /** @@ -2981,8 +2998,8 @@ public final Maybe doOnTerminate(final Action onTerminate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe doOnSuccess(Consumer onSuccess) { - return RxJavaPlugins.onAssembly(new MaybePeek(this, + public final Maybe doOnSuccess(@NonNull Consumer onSuccess) { + return RxJavaPlugins.onAssembly(new MaybePeek<>(this, Functions.emptyConsumer(), // onSubscribe Objects.requireNonNull(onSuccess, "onSuccess is null"), Functions.emptyConsumer(), // onError @@ -3012,9 +3029,9 @@ public final Maybe doOnSuccess(Consumer onSuccess) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe filter(Predicate predicate) { + public final Maybe filter(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new MaybeFilter(this, predicate)); + return RxJavaPlugins.onAssembly(new MaybeFilter<>(this, predicate)); } /** @@ -3037,9 +3054,9 @@ public final Maybe filter(Predicate predicate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe flatMap(Function> mapper) { + public final Maybe flatMap(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatten(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatten<>(this, mapper)); } /** @@ -3067,13 +3084,13 @@ public final Maybe flatMap(Function Maybe flatMap( - Function> onSuccessMapper, - Function> onErrorMapper, - Supplier> onCompleteSupplier) { + @NonNull Function> onSuccessMapper, + @NonNull Function> onErrorMapper, + @NonNull Supplier> onCompleteSupplier) { Objects.requireNonNull(onSuccessMapper, "onSuccessMapper is null"); Objects.requireNonNull(onErrorMapper, "onErrorMapper is null"); Objects.requireNonNull(onCompleteSupplier, "onCompleteSupplier is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapNotification(this, onSuccessMapper, onErrorMapper, onCompleteSupplier)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapNotification<>(this, onSuccessMapper, onErrorMapper, onCompleteSupplier)); } /** @@ -3101,11 +3118,11 @@ public final Maybe flatMap( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe flatMap(Function> mapper, - BiFunction resultSelector) { + public final Maybe flatMap(@NonNull Function> mapper, + @NonNull BiFunction resultSelector) { Objects.requireNonNull(mapper, "mapper is null"); Objects.requireNonNull(resultSelector, "resultSelector is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapBiSelector(this, mapper, resultSelector)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapBiSelector<>(this, mapper, resultSelector)); } /** @@ -3132,9 +3149,9 @@ public final Maybe flatMap(Function Flowable flattenAsFlowable(final Function> mapper) { + public final Flowable flattenAsFlowable(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapIterableFlowable(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapIterableFlowable<>(this, mapper)); } /** @@ -3158,9 +3175,9 @@ public final Flowable flattenAsFlowable(final Function Observable flattenAsObservable(final Function> mapper) { + public final Observable flattenAsObservable(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapIterableObservable(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapIterableObservable<>(this, mapper)); } /** @@ -3182,9 +3199,9 @@ public final Observable flattenAsObservable(final Function Observable flatMapObservable(Function> mapper) { + public final Observable flatMapObservable(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapObservable(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapObservable<>(this, mapper)); } /** @@ -3210,9 +3227,9 @@ public final Observable flatMapObservable(Function Flowable flatMapPublisher(Function> mapper) { + public final Flowable flatMapPublisher(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapPublisher(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapPublisher<>(this, mapper)); } /** @@ -3236,9 +3253,9 @@ public final Flowable flatMapPublisher(Function Single flatMapSingle(final Function> mapper) { + public final Single flatMapSingle(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapSingle(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapSingle<>(this, mapper)); } /** @@ -3264,9 +3281,9 @@ public final Single flatMapSingle(final Function Maybe flatMapSingleElement(final Function> mapper) { + public final Maybe flatMapSingleElement(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapSingleElement(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapSingleElement<>(this, mapper)); } /** @@ -3288,9 +3305,9 @@ public final Maybe flatMapSingleElement(final Function mapper) { + public final Completable flatMapCompletable(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new MaybeFlatMapCompletable(this, mapper)); + return RxJavaPlugins.onAssembly(new MaybeFlatMapCompletable<>(this, mapper)); } /** @@ -3307,8 +3324,9 @@ public final Completable flatMapCompletable(final Function hide() { - return RxJavaPlugins.onAssembly(new MaybeHide(this)); + return RxJavaPlugins.onAssembly(new MaybeHide<>(this)); } /** @@ -3326,8 +3344,9 @@ public final Maybe hide() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable ignoreElement() { - return RxJavaPlugins.onAssembly(new MaybeIgnoreElementCompletable(this)); + return RxJavaPlugins.onAssembly(new MaybeIgnoreElementCompletable<>(this)); } /** @@ -3344,8 +3363,9 @@ public final Completable ignoreElement() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single isEmpty() { - return RxJavaPlugins.onAssembly(new MaybeIsEmptySingle(this)); + return RxJavaPlugins.onAssembly(new MaybeIsEmptySingle<>(this)); } /** @@ -3500,7 +3520,7 @@ public final Single isEmpty() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe lift(final MaybeOperator lift) { + public final Maybe lift(@NonNull MaybeOperator lift) { Objects.requireNonNull(lift, "lift is null"); return RxJavaPlugins.onAssembly(new MaybeLift(this, lift)); } @@ -3524,7 +3544,7 @@ public final Maybe lift(final MaybeOperator lift) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe map(Function mapper) { + public final Maybe map(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); return RxJavaPlugins.onAssembly(new MaybeMap(this, mapper)); } @@ -3545,8 +3565,9 @@ public final Maybe map(Function mapper) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> materialize() { - return RxJavaPlugins.onAssembly(new MaybeMaterialize(this)); + return RxJavaPlugins.onAssembly(new MaybeMaterialize<>(this)); } /** @@ -3572,7 +3593,7 @@ public final Single> materialize() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable mergeWith(MaybeSource other) { + public final Flowable mergeWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); return merge(this, other); } @@ -3598,9 +3619,9 @@ public final Flowable mergeWith(MaybeSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Maybe observeOn(final Scheduler scheduler) { + public final Maybe observeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new MaybeObserveOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new MaybeObserveOn<>(this, scheduler)); } /** @@ -3622,7 +3643,7 @@ public final Maybe observeOn(final Scheduler scheduler) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe ofType(final Class clazz) { + public final Maybe ofType(@NonNull Class clazz) { Objects.requireNonNull(clazz, "clazz is null"); return filter(Functions.isInstanceOf(clazz)).cast(clazz); } @@ -3663,11 +3684,12 @@ public final R to(@NonNull MaybeConverter converter) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable toFlowable() { if (this instanceof FuseToFlowable) { return ((FuseToFlowable)this).fuseToFlowable(); } - return RxJavaPlugins.onAssembly(new MaybeToFlowable(this)); + return RxJavaPlugins.onAssembly(new MaybeToFlowable<>(this)); } /** @@ -3682,11 +3704,12 @@ public final Flowable toFlowable() { @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Observable toObservable() { if (this instanceof FuseToObservable) { return ((FuseToObservable)this).fuseToObservable(); } - return RxJavaPlugins.onAssembly(new MaybeToObservable(this)); + return RxJavaPlugins.onAssembly(new MaybeToObservable<>(this)); } /** @@ -3700,8 +3723,9 @@ public final Observable toObservable() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single toSingle() { - return RxJavaPlugins.onAssembly(new MaybeToSingle(this, null)); + return RxJavaPlugins.onAssembly(new MaybeToSingle<>(this, null)); } /** @@ -3715,6 +3739,7 @@ public final Single toSingle() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe onErrorComplete() { return onErrorComplete(Functions.alwaysTrue()); } @@ -3733,10 +3758,10 @@ public final Maybe onErrorComplete() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe onErrorComplete(final Predicate predicate) { + public final Maybe onErrorComplete(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new MaybeOnErrorComplete(this, predicate)); + return RxJavaPlugins.onAssembly(new MaybeOnErrorComplete<>(this, predicate)); } /** @@ -3761,7 +3786,7 @@ public final Maybe onErrorComplete(final Predicate predica @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe onErrorResumeWith(final MaybeSource next) { + public final Maybe onErrorResumeWith(@NonNull MaybeSource next) { Objects.requireNonNull(next, "next is null"); return onErrorResumeNext(Functions.justFunction(next)); } @@ -3788,9 +3813,9 @@ public final Maybe onErrorResumeWith(final MaybeSource next) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe onErrorResumeNext(Function> resumeFunction) { + public final Maybe onErrorResumeNext(@NonNull Function> resumeFunction) { Objects.requireNonNull(resumeFunction, "resumeFunction is null"); - return RxJavaPlugins.onAssembly(new MaybeOnErrorNext(this, resumeFunction, true)); + return RxJavaPlugins.onAssembly(new MaybeOnErrorNext<>(this, resumeFunction, true)); } /** @@ -3815,9 +3840,9 @@ public final Maybe onErrorResumeNext(Function onErrorReturn(Function valueSupplier) { + public final Maybe onErrorReturn(@NonNull Function valueSupplier) { Objects.requireNonNull(valueSupplier, "valueSupplier is null"); - return RxJavaPlugins.onAssembly(new MaybeOnErrorReturn(this, valueSupplier)); + return RxJavaPlugins.onAssembly(new MaybeOnErrorReturn<>(this, valueSupplier)); } /** @@ -3841,7 +3866,7 @@ public final Maybe onErrorReturn(Function val @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe onErrorReturnItem(final T item) { + public final Maybe onErrorReturnItem(@NonNull T item) { Objects.requireNonNull(item, "item is null"); return onErrorReturn(Functions.justFunction(item)); } @@ -3871,9 +3896,9 @@ public final Maybe onErrorReturnItem(final T item) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe onExceptionResumeNext(final MaybeSource next) { + public final Maybe onExceptionResumeNext(@NonNull MaybeSource next) { Objects.requireNonNull(next, "next is null"); - return RxJavaPlugins.onAssembly(new MaybeOnErrorNext(this, Functions.justFunction(next), false)); + return RxJavaPlugins.onAssembly(new MaybeOnErrorNext<>(this, Functions.justFunction(next), false)); } /** @@ -3890,8 +3915,9 @@ public final Maybe onExceptionResumeNext(final MaybeSource next) */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe onTerminateDetach() { - return RxJavaPlugins.onAssembly(new MaybeDetach(this)); + return RxJavaPlugins.onAssembly(new MaybeDetach<>(this)); } /** @@ -3911,6 +3937,7 @@ public final Maybe onTerminateDetach() { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable repeat() { return repeat(Long.MAX_VALUE); } @@ -3939,6 +3966,7 @@ public final Flowable repeat() { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable repeat(long times) { return toFlowable().repeat(times); } @@ -3966,7 +3994,8 @@ public final Flowable repeat(long times) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatUntil(BooleanSupplier stop) { + @NonNull + public final Flowable repeatUntil(@NonNull BooleanSupplier stop) { return toFlowable().repeatUntil(stop); } @@ -3995,7 +4024,8 @@ public final Flowable repeatUntil(BooleanSupplier stop) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatWhen(final Function, ? extends Publisher> handler) { + @NonNull + public final Flowable repeatWhen(@NonNull Function, ? extends Publisher> handler) { return toFlowable().repeatWhen(handler); } @@ -4017,6 +4047,7 @@ public final Flowable repeatWhen(final Function, ? e */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe retry() { return retry(Long.MAX_VALUE, Functions.alwaysTrue()); } @@ -4040,7 +4071,8 @@ public final Maybe retry() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe retry(BiPredicate predicate) { + @NonNull + public final Maybe retry(@NonNull BiPredicate predicate) { return toFlowable().retry(predicate).singleElement(); } @@ -4065,6 +4097,7 @@ public final Maybe retry(BiPredicate pred */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe retry(long count) { return retry(count, Functions.alwaysTrue()); } @@ -4082,7 +4115,8 @@ public final Maybe retry(long count) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe retry(long times, Predicate predicate) { + @NonNull + public final Maybe retry(long times, @NonNull Predicate predicate) { return toFlowable().retry(times, predicate).singleElement(); } @@ -4098,7 +4132,8 @@ public final Maybe retry(long times, Predicate predicate) */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe retry(Predicate predicate) { + @NonNull + public final Maybe retry(@NonNull Predicate predicate) { return retry(Long.MAX_VALUE, predicate); } @@ -4114,7 +4149,7 @@ public final Maybe retry(Predicate predicate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe retryUntil(final BooleanSupplier stop) { + public final Maybe retryUntil(@NonNull BooleanSupplier stop) { Objects.requireNonNull(stop, "stop is null"); return retry(Long.MAX_VALUE, Functions.predicateReverseFor(stop)); } @@ -4194,8 +4229,9 @@ public final Maybe retryUntil(final BooleanSupplier stop) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Maybe retryWhen( - final Function, ? extends Publisher> handler) { + @NonNull Function, ? extends Publisher> handler) { return toFlowable().retryWhen(handler).singleElement(); } @@ -4215,6 +4251,7 @@ public final Maybe retryWhen( * @see ReactiveX operators documentation: Subscribe */ @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Disposable subscribe() { return subscribe(Functions.emptyConsumer(), Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -4240,7 +4277,8 @@ public final Disposable subscribe() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(Consumer onSuccess) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onSuccess) { return subscribe(onSuccess, Functions.ON_ERROR_MISSING, Functions.EMPTY_ACTION); } @@ -4266,7 +4304,8 @@ public final Disposable subscribe(Consumer onSuccess) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(Consumer onSuccess, Consumer onError) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onSuccess, @NonNull Consumer onError) { return subscribe(onSuccess, onError, Functions.EMPTY_ACTION); } @@ -4297,8 +4336,8 @@ public final Disposable subscribe(Consumer onSuccess, Consumer onSuccess, Consumer onError, - Action onComplete) { + public final Disposable subscribe(@NonNull Consumer onSuccess, @NonNull Consumer onError, + @NonNull Action onComplete) { Objects.requireNonNull(onSuccess, "onSuccess is null"); Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); @@ -4307,7 +4346,7 @@ public final Disposable subscribe(Consumer onSuccess, Consumer observer) { + public final void subscribe(@NonNull MaybeObserver observer) { Objects.requireNonNull(observer, "observer is null"); observer = RxJavaPlugins.onSubscribe(this, observer); @@ -4333,7 +4372,7 @@ public final void subscribe(MaybeObserver observer) { * applied by {@link #subscribe(MaybeObserver)} before this method gets called. * @param observer the MaybeObserver to handle, not null */ - protected abstract void subscribeActual(MaybeObserver observer); + protected abstract void subscribeActual(@NonNull MaybeObserver observer); /** * Asynchronously subscribes subscribers to this Maybe on the specified {@link Scheduler}. @@ -4354,9 +4393,9 @@ public final void subscribe(MaybeObserver observer) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Maybe subscribeOn(Scheduler scheduler) { + public final Maybe subscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new MaybeSubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new MaybeSubscribeOn<>(this, scheduler)); } /** @@ -4384,7 +4423,8 @@ public final Maybe subscribeOn(Scheduler scheduler) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final > E subscribeWith(E observer) { + @NonNull + public final <@NonNull E extends MaybeObserver> E subscribeWith(E observer) { subscribe(observer); return observer; } @@ -4407,9 +4447,9 @@ public final > E subscribeWith(E observer) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe switchIfEmpty(MaybeSource other) { + public final Maybe switchIfEmpty(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new MaybeSwitchIfEmpty(this, other)); + return RxJavaPlugins.onAssembly(new MaybeSwitchIfEmpty<>(this, other)); } /** @@ -4431,9 +4471,9 @@ public final Maybe switchIfEmpty(MaybeSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single switchIfEmpty(SingleSource other) { + public final Single switchIfEmpty(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new MaybeSwitchIfEmptySingle(this, other)); + return RxJavaPlugins.onAssembly(new MaybeSwitchIfEmptySingle<>(this, other)); } /** @@ -4457,9 +4497,9 @@ public final Single switchIfEmpty(SingleSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe takeUntil(MaybeSource other) { + public final Maybe takeUntil(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new MaybeTakeUntilMaybe(this, other)); + return RxJavaPlugins.onAssembly(new MaybeTakeUntilMaybe<>(this, other)); } /** @@ -4487,9 +4527,9 @@ public final Maybe takeUntil(MaybeSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe takeUntil(Publisher other) { + public final Maybe takeUntil(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new MaybeTakeUntilPublisher(this, other)); + return RxJavaPlugins.onAssembly(new MaybeTakeUntilPublisher<>(this, other)); } /** @@ -4512,7 +4552,8 @@ public final Maybe takeUntil(Publisher other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Maybe timeout(long timeout, TimeUnit timeUnit) { + @NonNull + public final Maybe timeout(long timeout, @NonNull TimeUnit timeUnit) { return timeout(timeout, timeUnit, Schedulers.computation()); } @@ -4539,7 +4580,7 @@ public final Maybe timeout(long timeout, TimeUnit timeUnit) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Maybe timeout(long timeout, TimeUnit timeUnit, MaybeSource fallback) { + public final Maybe timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull MaybeSource fallback) { Objects.requireNonNull(fallback, "fallback is null"); return timeout(timeout, timeUnit, Schedulers.computation(), fallback); } @@ -4570,7 +4611,7 @@ public final Maybe timeout(long timeout, TimeUnit timeUnit, MaybeSource timeout(long timeout, TimeUnit timeUnit, Scheduler scheduler, MaybeSource fallback) { + public final Maybe timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull Scheduler scheduler, @NonNull MaybeSource fallback) { Objects.requireNonNull(fallback, "fallback is null"); return timeout(timer(timeout, timeUnit, scheduler), fallback); } @@ -4598,7 +4639,8 @@ public final Maybe timeout(long timeout, TimeUnit timeUnit, Scheduler schedul */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Maybe timeout(long timeout, TimeUnit timeUnit, Scheduler scheduler) { + @NonNull + public final Maybe timeout(long timeout, @NonNull TimeUnit timeUnit, @NonNull Scheduler scheduler) { return timeout(timer(timeout, timeUnit, scheduler)); } @@ -4617,9 +4659,9 @@ public final Maybe timeout(long timeout, TimeUnit timeUnit, Scheduler schedul @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe timeout(MaybeSource timeoutIndicator) { + public final Maybe timeout(@NonNull MaybeSource timeoutIndicator) { Objects.requireNonNull(timeoutIndicator, "timeoutIndicator is null"); - return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe(this, timeoutIndicator, null)); + return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe<>(this, timeoutIndicator, null)); } /** @@ -4639,10 +4681,10 @@ public final Maybe timeout(MaybeSource timeoutIndicator) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe timeout(MaybeSource timeoutIndicator, MaybeSource fallback) { + public final Maybe timeout(@NonNull MaybeSource timeoutIndicator, @NonNull MaybeSource fallback) { Objects.requireNonNull(timeoutIndicator, "timeoutIndicator is null"); Objects.requireNonNull(fallback, "fallback is null"); - return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe(this, timeoutIndicator, fallback)); + return RxJavaPlugins.onAssembly(new MaybeTimeoutMaybe<>(this, timeoutIndicator, fallback)); } /** @@ -4664,9 +4706,9 @@ public final Maybe timeout(MaybeSource timeoutIndicator, MaybeSource Maybe timeout(Publisher timeoutIndicator) { + public final Maybe timeout(@NonNull Publisher timeoutIndicator) { Objects.requireNonNull(timeoutIndicator, "timeoutIndicator is null"); - return RxJavaPlugins.onAssembly(new MaybeTimeoutPublisher(this, timeoutIndicator, null)); + return RxJavaPlugins.onAssembly(new MaybeTimeoutPublisher<>(this, timeoutIndicator, null)); } /** @@ -4690,10 +4732,10 @@ public final Maybe timeout(Publisher timeoutIndicator) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe timeout(Publisher timeoutIndicator, MaybeSource fallback) { + public final Maybe timeout(@NonNull Publisher timeoutIndicator, @NonNull MaybeSource fallback) { Objects.requireNonNull(timeoutIndicator, "timeoutIndicator is null"); Objects.requireNonNull(fallback, "fallback is null"); - return RxJavaPlugins.onAssembly(new MaybeTimeoutPublisher(this, timeoutIndicator, fallback)); + return RxJavaPlugins.onAssembly(new MaybeTimeoutPublisher<>(this, timeoutIndicator, fallback)); } /** @@ -4712,9 +4754,9 @@ public final Maybe timeout(Publisher timeoutIndicator, MaybeSource unsubscribeOn(final Scheduler scheduler) { + public final Maybe unsubscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new MaybeUnsubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new MaybeUnsubscribeOn<>(this, scheduler)); } /** @@ -4746,7 +4788,7 @@ public final Maybe unsubscribeOn(final Scheduler scheduler) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe zipWith(MaybeSource other, BiFunction zipper) { + public final Maybe zipWith(@NonNull MaybeSource other, @NonNull BiFunction zipper) { Objects.requireNonNull(other, "other is null"); return zip(this, other, zipper); } @@ -4766,8 +4808,9 @@ public final Maybe zipWith(MaybeSource other, BiFunction< */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestObserver test() { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); subscribe(to); return to; } @@ -4784,8 +4827,9 @@ public final TestObserver test() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestObserver test(boolean dispose) { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); if (dispose) { to.dispose(); diff --git a/src/main/java/io/reactivex/rxjava3/core/Notification.java b/src/main/java/io/reactivex/rxjava3/core/Notification.java index bb1c35c3f1..086ffafc8e 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Notification.java +++ b/src/main/java/io/reactivex/rxjava3/core/Notification.java @@ -27,7 +27,7 @@ public final class Notification { final Object value; /** Not meant to be implemented externally. */ - private Notification(Object value) { + private Notification(@Nullable Object value) { this.value = value; } diff --git a/src/main/java/io/reactivex/rxjava3/core/Observable.java b/src/main/java/io/reactivex/rxjava3/core/Observable.java index 0e2ff9dec1..42d7f3d00a 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Observable.java +++ b/src/main/java/io/reactivex/rxjava3/core/Observable.java @@ -120,7 +120,7 @@ public abstract class Observable implements ObservableSource { @SchedulerSupport(SchedulerSupport.NONE) public static Observable amb(Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); - return RxJavaPlugins.onAssembly(new ObservableAmb(null, sources)); + return RxJavaPlugins.onAssembly(new ObservableAmb<>(null, sources)); } /** @@ -145,6 +145,7 @@ public static Observable amb(Iterable Observable ambArray(ObservableSource... sources) { Objects.requireNonNull(sources, "sources is null"); int len = sources.length; @@ -154,7 +155,7 @@ public static Observable ambArray(ObservableSource... source if (len == 1) { return (Observable)wrap(sources[0]); } - return RxJavaPlugins.onAssembly(new ObservableAmb(sources, null)); + return RxJavaPlugins.onAssembly(new ObservableAmb<>(sources, null)); } /** @@ -1243,6 +1244,7 @@ public static Observable concatArrayDelayError(ObservableSource Observable concatArrayEager(ObservableSource... sources) { return concatArrayEager(bufferSize(), bufferSize(), sources); } @@ -1294,6 +1296,7 @@ public static Observable concatArrayEager(int maxConcurrency, int prefetc */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @SafeVarargs public static Observable concatArrayEagerDelayError(ObservableSource... sources) { return concatArrayEagerDelayError(bufferSize(), bufferSize(), sources); } @@ -1550,7 +1553,7 @@ public static Observable concatEager(Iterable Observable create(ObservableOnSubscribe source) { Objects.requireNonNull(source, "source is null"); - return RxJavaPlugins.onAssembly(new ObservableCreate(source)); + return RxJavaPlugins.onAssembly(new ObservableCreate<>(source)); } /** @@ -1582,7 +1585,7 @@ public static Observable create(ObservableOnSubscribe source) { @SchedulerSupport(SchedulerSupport.NONE) public static Observable defer(Supplier> supplier) { Objects.requireNonNull(supplier, "supplier is null"); - return RxJavaPlugins.onAssembly(new ObservableDefer(supplier)); + return RxJavaPlugins.onAssembly(new ObservableDefer<>(supplier)); } /** @@ -1679,6 +1682,7 @@ public static Observable error(final Throwable exception) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @NonNull + @SafeVarargs public static Observable fromArray(T... items) { Objects.requireNonNull(items, "items is null"); if (items.length == 0) { @@ -1687,7 +1691,7 @@ public static Observable fromArray(T... items) { if (items.length == 1) { return just(items[0]); } - return RxJavaPlugins.onAssembly(new ObservableFromArray(items)); + return RxJavaPlugins.onAssembly(new ObservableFromArray<>(items)); } /** @@ -2138,7 +2142,7 @@ public static Observable generate(Supplier initialState, BiFunction Objects.requireNonNull(initialState, "initialState is null"); Objects.requireNonNull(generator, "generator is null"); Objects.requireNonNull(disposeState, "disposeState is null"); - return RxJavaPlugins.onAssembly(new ObservableGenerate(initialState, generator, disposeState)); + return RxJavaPlugins.onAssembly(new ObservableGenerate<>(initialState, generator, disposeState)); } /** @@ -2343,7 +2347,7 @@ public static Observable intervalRange(long start, long count, long initia @SchedulerSupport(SchedulerSupport.NONE) public static Observable just(T item) { Objects.requireNonNull(item, "item is null"); - return RxJavaPlugins.onAssembly(new ObservableJust(item)); + return RxJavaPlugins.onAssembly(new ObservableJust<>(item)); } /** @@ -2364,7 +2368,6 @@ public static Observable just(T item) { * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2395,7 +2398,6 @@ public static Observable just(T item1, T item2) { * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2429,7 +2431,6 @@ public static Observable just(T item1, T item2, T item3) { * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2466,7 +2467,6 @@ public static Observable just(T item1, T item2, T item3, T item4) { * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2506,7 +2506,6 @@ public static Observable just(T item1, T item2, T item3, T item4, T item5 * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2549,7 +2548,6 @@ public static Observable just(T item1, T item2, T item3, T item4, T item5 * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2595,7 +2593,6 @@ public static Observable just(T item1, T item2, T item3, T item4, T item5 * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2644,7 +2641,6 @@ public static Observable just(T item1, T item2, T item3, T item4, T item5 * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -2696,7 +2692,6 @@ public static Observable just(T item1, T item2, T item3, T item4, T item5 * @return an Observable that emits each item * @see ReactiveX operators documentation: Just */ - @SuppressWarnings("unchecked") @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) @@ -3713,7 +3708,7 @@ public static Single sequenceEqual(ObservableSource so Objects.requireNonNull(source2, "source2 is null"); Objects.requireNonNull(isEqual, "isEqual is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new ObservableSequenceEqualSingle(source1, source2, isEqual, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableSequenceEqualSingle<>(source1, source2, isEqual, bufferSize)); } /** @@ -3955,7 +3950,7 @@ public static Observable unsafeCreate(ObservableSource onSubscribe) { if (onSubscribe instanceof Observable) { throw new IllegalArgumentException("unsafeCreate(Observable) should be upgraded"); } - return RxJavaPlugins.onAssembly(new ObservableFromUnsafeSource(onSubscribe)); + return RxJavaPlugins.onAssembly(new ObservableFromUnsafeSource<>(onSubscribe)); } /** @@ -4044,7 +4039,7 @@ public static Observable wrap(ObservableSource source) { if (source instanceof Observable) { return RxJavaPlugins.onAssembly((Observable)source); } - return RxJavaPlugins.onAssembly(new ObservableFromUnsafeSource(source)); + return RxJavaPlugins.onAssembly(new ObservableFromUnsafeSource<>(source)); } /** @@ -4205,7 +4200,6 @@ public static Observable zip(IterableReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4261,7 +4255,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4318,7 +4311,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4377,7 +4369,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4440,7 +4431,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4508,7 +4498,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4579,7 +4568,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4654,7 +4642,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4734,7 +4721,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4818,7 +4804,6 @@ public static Observable zip( * @return an Observable that emits the zipped results * @see ReactiveX operators documentation: Zip */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public static Observable zip( @@ -4890,6 +4875,7 @@ public static Observable zip( */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @SafeVarargs public static Observable zipArray(Function zipper, boolean delayError, int bufferSize, ObservableSource... sources) { if (sources.length == 0) { @@ -4924,7 +4910,7 @@ public static Observable zipArray(Function all(Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableAllSingle(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableAllSingle<>(this, predicate)); } /** @@ -4944,7 +4930,6 @@ public final Single all(Predicate predicate) { * emitted an item or sent a termination notification * @see ReactiveX operators documentation: Amb */ - @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Observable ambWith(ObservableSource other) { @@ -4976,7 +4961,7 @@ public final Observable ambWith(ObservableSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Single any(Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableAnySingle(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableAnySingle<>(this, predicate)); } /** @@ -4997,7 +4982,7 @@ public final Single any(Predicate predicate) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final T blockingFirst() { - BlockingFirstObserver observer = new BlockingFirstObserver(); + BlockingFirstObserver observer = new BlockingFirstObserver<>(); subscribe(observer); T v = observer.blockingGet(); if (v != null) { @@ -5025,7 +5010,7 @@ public final T blockingFirst() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final T blockingFirst(T defaultItem) { - BlockingFirstObserver observer = new BlockingFirstObserver(); + BlockingFirstObserver observer = new BlockingFirstObserver<>(); subscribe(observer); T v = observer.blockingGet(); return v != null ? v : defaultItem; @@ -5109,7 +5094,7 @@ public final Iterable blockingIterable() { @SchedulerSupport(SchedulerSupport.NONE) public final Iterable blockingIterable(int bufferSize) { ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return new BlockingObservableIterable(this, bufferSize); + return new BlockingObservableIterable<>(this, bufferSize); } /** @@ -5134,7 +5119,7 @@ public final Iterable blockingIterable(int bufferSize) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final T blockingLast() { - BlockingLastObserver observer = new BlockingLastObserver(); + BlockingLastObserver observer = new BlockingLastObserver<>(); subscribe(observer); T v = observer.blockingGet(); if (v != null) { @@ -5166,7 +5151,7 @@ public final T blockingLast() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final T blockingLast(T defaultItem) { - BlockingLastObserver observer = new BlockingLastObserver(); + BlockingLastObserver observer = new BlockingLastObserver<>(); subscribe(observer); T v = observer.blockingGet(); return v != null ? v : defaultItem; @@ -5194,7 +5179,7 @@ public final T blockingLast(T defaultItem) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Iterable blockingLatest() { - return new BlockingObservableLatest(this); + return new BlockingObservableLatest<>(this); } /** @@ -5217,7 +5202,7 @@ public final Iterable blockingLatest() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Iterable blockingMostRecent(T initialValue) { - return new BlockingObservableMostRecent(this, initialValue); + return new BlockingObservableMostRecent<>(this, initialValue); } /** @@ -5237,7 +5222,7 @@ public final Iterable blockingMostRecent(T initialValue) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Iterable blockingNext() { - return new BlockingObservableNext(this); + return new BlockingObservableNext<>(this); } /** @@ -5521,7 +5506,7 @@ public final > Observable buffer(int count, i ObjectHelper.verifyPositive(count, "count"); ObjectHelper.verifyPositive(skip, "skip"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableBuffer(this, count, skip, bufferSupplier)); + return RxJavaPlugins.onAssembly(new ObservableBuffer<>(this, count, skip, bufferSupplier)); } /** @@ -5653,7 +5638,7 @@ public final > Observable buffer(long timespa Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableBufferTimed(this, timespan, timeskip, unit, scheduler, bufferSupplier, Integer.MAX_VALUE, false)); + return RxJavaPlugins.onAssembly(new ObservableBufferTimed<>(this, timespan, timeskip, unit, scheduler, bufferSupplier, Integer.MAX_VALUE, false)); } /** @@ -5799,7 +5784,7 @@ public final > Observable buffer( Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); ObjectHelper.verifyPositive(count, "count"); - return RxJavaPlugins.onAssembly(new ObservableBufferTimed(this, timespan, timespan, unit, scheduler, bufferSupplier, count, restartTimerOnMaxSize)); + return RxJavaPlugins.onAssembly(new ObservableBufferTimed<>(this, timespan, timespan, unit, scheduler, bufferSupplier, count, restartTimerOnMaxSize)); } /** @@ -6001,7 +5986,7 @@ public final Observable> buffer(ObservableSource boundary, final public final > Observable buffer(ObservableSource boundary, Supplier bufferSupplier) { Objects.requireNonNull(boundary, "boundary is null"); Objects.requireNonNull(bufferSupplier, "bufferSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableBufferExactBoundary(this, boundary, bufferSupplier)); + return RxJavaPlugins.onAssembly(new ObservableBufferExactBoundary<>(this, boundary, bufferSupplier)); } /** @@ -6114,7 +6099,7 @@ public final Observable cache() { @SchedulerSupport(SchedulerSupport.NONE) public final Observable cacheWithInitialCapacity(int initialCapacity) { ObjectHelper.verifyPositive(initialCapacity, "initialCapacity"); - return RxJavaPlugins.onAssembly(new ObservableCache(this, initialCapacity)); + return RxJavaPlugins.onAssembly(new ObservableCache<>(this, initialCapacity)); } /** @@ -6304,7 +6289,7 @@ public final Observable concatMap(Function(this, mapper, prefetch, ErrorMode.IMMEDIATE)); + return RxJavaPlugins.onAssembly(new ObservableConcatMap<>(this, mapper, prefetch, ErrorMode.IMMEDIATE)); } /** @@ -6339,7 +6324,7 @@ public final Observable concatMap(Function(this, mapper, prefetch, ErrorMode.IMMEDIATE, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapScheduler<>(this, mapper, prefetch, ErrorMode.IMMEDIATE, scheduler)); } /** @@ -6409,7 +6394,7 @@ public final Observable concatMapDelayError(Function(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); + return RxJavaPlugins.onAssembly(new ObservableConcatMap<>(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY)); } /** @@ -6444,7 +6429,7 @@ public final Observable concatMapDelayError(Function(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapScheduler<>(this, mapper, prefetch, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, scheduler)); } /** @@ -6500,7 +6485,7 @@ public final Observable concatMapEager(Function(this, mapper, ErrorMode.IMMEDIATE, maxConcurrency, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapEager<>(this, mapper, ErrorMode.IMMEDIATE, maxConcurrency, prefetch)); } /** @@ -6565,7 +6550,7 @@ public final Observable concatMapEagerDelayError(Function(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, maxConcurrency, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapEager<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, maxConcurrency, prefetch)); } /** @@ -6613,7 +6598,7 @@ public final Completable concatMapCompletable(Function mapper, int capacityHint) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(capacityHint, "capacityHint"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapCompletable(this, mapper, ErrorMode.IMMEDIATE, capacityHint)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapCompletable<>(this, mapper, ErrorMode.IMMEDIATE, capacityHint)); } /** @@ -6703,7 +6688,7 @@ public final Completable concatMapCompletableDelayError(Function mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapCompletable(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapCompletable<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -6730,7 +6715,7 @@ public final Completable concatMapCompletableDelayError(Function Observable concatMapIterable(final Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableFlattenIterable(this, mapper)); + return RxJavaPlugins.onAssembly(new ObservableFlattenIterable<>(this, mapper)); } /** @@ -6818,7 +6803,7 @@ public final Observable concatMapMaybe(Function Observable concatMapMaybe(Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapMaybe(this, mapper, ErrorMode.IMMEDIATE, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapMaybe<>(this, mapper, ErrorMode.IMMEDIATE, prefetch)); } /** @@ -6913,7 +6898,7 @@ public final Observable concatMapMaybeDelayError(Function Observable concatMapMaybeDelayError(Function> mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapMaybe(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapMaybe<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -6971,7 +6956,7 @@ public final Observable concatMapSingle(Function Observable concatMapSingle(Function> mapper, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapSingle(this, mapper, ErrorMode.IMMEDIATE, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapSingle<>(this, mapper, ErrorMode.IMMEDIATE, prefetch)); } /** @@ -7066,7 +7051,7 @@ public final Observable concatMapSingleDelayError(Function Observable concatMapSingleDelayError(Function> mapper, boolean tillTheEnd, int prefetch) { Objects.requireNonNull(mapper, "mapper is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); - return RxJavaPlugins.onAssembly(new ObservableConcatMapSingle(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); + return RxJavaPlugins.onAssembly(new ObservableConcatMapSingle<>(this, mapper, tillTheEnd ? ErrorMode.END : ErrorMode.BOUNDARY, prefetch)); } /** @@ -7110,7 +7095,7 @@ public final Observable concatWith(ObservableSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable concatWith(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableConcatWithSingle(this, other)); + return RxJavaPlugins.onAssembly(new ObservableConcatWithSingle<>(this, other)); } /** @@ -7131,7 +7116,7 @@ public final Observable concatWith(@NonNull SingleSource other) @SchedulerSupport(SchedulerSupport.NONE) public final Observable concatWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableConcatWithMaybe(this, other)); + return RxJavaPlugins.onAssembly(new ObservableConcatWithMaybe<>(this, other)); } /** @@ -7152,7 +7137,7 @@ public final Observable concatWith(@NonNull MaybeSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable concatWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableConcatWithCompletable(this, other)); + return RxJavaPlugins.onAssembly(new ObservableConcatWithCompletable<>(this, other)); } /** @@ -7195,7 +7180,7 @@ public final Single contains(final Object element) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Single count() { - return RxJavaPlugins.onAssembly(new ObservableCountSingle(this)); + return RxJavaPlugins.onAssembly(new ObservableCountSingle<>(this)); } /** @@ -7228,7 +7213,7 @@ public final Single count() { @SchedulerSupport(SchedulerSupport.NONE) public final Observable debounce(Function> debounceSelector) { Objects.requireNonNull(debounceSelector, "debounceSelector is null"); - return RxJavaPlugins.onAssembly(new ObservableDebounce(this, debounceSelector)); + return RxJavaPlugins.onAssembly(new ObservableDebounce<>(this, debounceSelector)); } /** @@ -7308,7 +7293,7 @@ public final Observable debounce(long timeout, TimeUnit unit) { public final Observable debounce(long timeout, TimeUnit unit, Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableDebounceTimed(this, timeout, unit, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableDebounceTimed<>(this, timeout, unit, scheduler)); } /** @@ -7466,7 +7451,7 @@ public final Observable delay(long delay, TimeUnit unit, Scheduler scheduler, Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableDelay(this, delay, unit, scheduler, delayError)); + return RxJavaPlugins.onAssembly(new ObservableDelay<>(this, delay, unit, scheduler, delayError)); } /** @@ -7525,7 +7510,7 @@ public final Observable delay(ObservableSource subscriptionDelay, @SchedulerSupport(SchedulerSupport.NONE) public final Observable delaySubscription(ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableDelaySubscriptionOther(this, other)); + return RxJavaPlugins.onAssembly(new ObservableDelaySubscriptionOther<>(this, other)); } /** @@ -7627,7 +7612,7 @@ public final Observable delaySubscription(long delay, TimeUnit unit, Schedule @SchedulerSupport(SchedulerSupport.NONE) public final Observable dematerialize(Function> selector) { Objects.requireNonNull(selector, "selector is null"); - return RxJavaPlugins.onAssembly(new ObservableDematerialize(this, selector)); + return RxJavaPlugins.onAssembly(new ObservableDematerialize<>(this, selector)); } /** @@ -7737,7 +7722,7 @@ public final Observable distinct(Function keySelector) { public final Observable distinct(Function keySelector, Supplier> collectionSupplier) { Objects.requireNonNull(keySelector, "keySelector is null"); Objects.requireNonNull(collectionSupplier, "collectionSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableDistinct(this, keySelector, collectionSupplier)); + return RxJavaPlugins.onAssembly(new ObservableDistinct<>(this, keySelector, collectionSupplier)); } /** @@ -7817,7 +7802,7 @@ public final Observable distinctUntilChanged() { @SchedulerSupport(SchedulerSupport.NONE) public final Observable distinctUntilChanged(Function keySelector) { Objects.requireNonNull(keySelector, "keySelector is null"); - return RxJavaPlugins.onAssembly(new ObservableDistinctUntilChanged(this, keySelector, ObjectHelper.equalsPredicate())); + return RxJavaPlugins.onAssembly(new ObservableDistinctUntilChanged<>(this, keySelector, ObjectHelper.equalsPredicate())); } /** @@ -7851,7 +7836,7 @@ public final Observable distinctUntilChanged(Function keySe @SchedulerSupport(SchedulerSupport.NONE) public final Observable distinctUntilChanged(BiPredicate comparer) { Objects.requireNonNull(comparer, "comparer is null"); - return RxJavaPlugins.onAssembly(new ObservableDistinctUntilChanged(this, Functions.identity(), comparer)); + return RxJavaPlugins.onAssembly(new ObservableDistinctUntilChanged<>(this, Functions.identity(), comparer)); } /** @@ -7875,7 +7860,7 @@ public final Observable distinctUntilChanged(BiPredicate doAfterNext(Consumer onAfterNext) { Objects.requireNonNull(onAfterNext, "onAfterNext is null"); - return RxJavaPlugins.onAssembly(new ObservableDoAfterNext(this, onAfterNext)); + return RxJavaPlugins.onAssembly(new ObservableDoAfterNext<>(this, onAfterNext)); } /** @@ -7926,7 +7911,7 @@ public final Observable doAfterTerminate(Action onFinally) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable doFinally(Action onFinally) { Objects.requireNonNull(onFinally, "onFinally is null"); - return RxJavaPlugins.onAssembly(new ObservableDoFinally(this, onFinally)); + return RxJavaPlugins.onAssembly(new ObservableDoFinally<>(this, onFinally)); } /** @@ -7996,7 +7981,7 @@ private Observable doOnEach(Consumer onNext, Consumer(this, onNext, onError, onComplete, onAfterTerminate)); + return RxJavaPlugins.onAssembly(new ObservableDoOnEach<>(this, onNext, onError, onComplete, onAfterTerminate)); } /** @@ -8101,7 +8086,7 @@ public final Observable doOnError(Consumer onError) { public final Observable doOnLifecycle(final Consumer onSubscribe, final Action onDispose) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); Objects.requireNonNull(onDispose, "onDispose is null"); - return RxJavaPlugins.onAssembly(new ObservableDoOnLifecycle(this, onSubscribe, onDispose)); + return RxJavaPlugins.onAssembly(new ObservableDoOnLifecycle<>(this, onSubscribe, onDispose)); } /** @@ -8199,7 +8184,7 @@ public final Maybe elementAt(long index) { if (index < 0) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } - return RxJavaPlugins.onAssembly(new ObservableElementAtMaybe(this, index)); + return RxJavaPlugins.onAssembly(new ObservableElementAtMaybe<>(this, index)); } /** @@ -8229,7 +8214,7 @@ public final Single elementAt(long index, T defaultItem) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new ObservableElementAtSingle(this, index, defaultItem)); + return RxJavaPlugins.onAssembly(new ObservableElementAtSingle<>(this, index, defaultItem)); } /** @@ -8256,7 +8241,7 @@ public final Single elementAtOrError(long index) { if (index < 0) { throw new IndexOutOfBoundsException("index >= 0 required but it was " + index); } - return RxJavaPlugins.onAssembly(new ObservableElementAtSingle(this, index, null)); + return RxJavaPlugins.onAssembly(new ObservableElementAtSingle<>(this, index, null)); } /** @@ -8279,7 +8264,7 @@ public final Single elementAtOrError(long index) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable filter(Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableFilter(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableFilter<>(this, predicate)); } /** @@ -8473,7 +8458,7 @@ public final Observable flatMap(Function(this, mapper, delayErrors, maxConcurrency, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableFlatMap<>(this, mapper, delayErrors, maxConcurrency, bufferSize)); } /** @@ -8509,7 +8494,7 @@ public final Observable flatMap( Objects.requireNonNull(onNextMapper, "onNextMapper is null"); Objects.requireNonNull(onErrorMapper, "onErrorMapper is null"); Objects.requireNonNull(onCompleteSupplier, "onCompleteSupplier is null"); - return merge(new ObservableMapNotification(this, onNextMapper, onErrorMapper, onCompleteSupplier)); + return merge(new ObservableMapNotification<>(this, onNextMapper, onErrorMapper, onCompleteSupplier)); } /** @@ -8550,7 +8535,7 @@ public final Observable flatMap( Objects.requireNonNull(onNextMapper, "onNextMapper is null"); Objects.requireNonNull(onErrorMapper, "onErrorMapper is null"); Objects.requireNonNull(onCompleteSupplier, "onCompleteSupplier is null"); - return merge(new ObservableMapNotification(this, onNextMapper, onErrorMapper, onCompleteSupplier), maxConcurrency); + return merge(new ObservableMapNotification<>(this, onNextMapper, onErrorMapper, onCompleteSupplier), maxConcurrency); } /** @@ -8794,7 +8779,7 @@ public final Completable flatMapCompletable(Function mapper, boolean delayErrors) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableFlatMapCompletableCompletable(this, mapper, delayErrors)); + return RxJavaPlugins.onAssembly(new ObservableFlatMapCompletableCompletable<>(this, mapper, delayErrors)); } /** @@ -8820,7 +8805,7 @@ public final Completable flatMapCompletable(Function Observable flatMapIterable(final Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableFlattenIterable(this, mapper)); + return RxJavaPlugins.onAssembly(new ObservableFlattenIterable<>(this, mapper)); } /** @@ -8895,7 +8880,7 @@ public final Observable flatMapMaybe(Function Observable flatMapMaybe(Function> mapper, boolean delayErrors) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableFlatMapMaybe(this, mapper, delayErrors)); + return RxJavaPlugins.onAssembly(new ObservableFlatMapMaybe<>(this, mapper, delayErrors)); } /** @@ -8937,7 +8922,7 @@ public final Observable flatMapSingle(Function Observable flatMapSingle(Function> mapper, boolean delayErrors) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableFlatMapSingle(this, mapper, delayErrors)); + return RxJavaPlugins.onAssembly(new ObservableFlatMapSingle<>(this, mapper, delayErrors)); } /** @@ -9048,7 +9033,7 @@ public final Disposable forEachWhile(final Predicate onNext, Consumer Objects.requireNonNull(onError, "onError is null"); Objects.requireNonNull(onComplete, "onComplete is null"); - ForEachWhileObserver o = new ForEachWhileObserver(onNext, onError, onComplete); + ForEachWhileObserver o = new ForEachWhileObserver<>(onNext, onError, onComplete); subscribe(o); return o; } @@ -9346,7 +9331,7 @@ public final Observable groupJoin( @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Observable hide() { - return RxJavaPlugins.onAssembly(new ObservableHide(this)); + return RxJavaPlugins.onAssembly(new ObservableHide<>(this)); } /** @@ -9364,7 +9349,7 @@ public final Observable hide() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Completable ignoreElements() { - return RxJavaPlugins.onAssembly(new ObservableIgnoreElementsCompletable(this)); + return RxJavaPlugins.onAssembly(new ObservableIgnoreElementsCompletable<>(this)); } /** @@ -9452,7 +9437,7 @@ public final Observable join( @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Maybe lastElement() { - return RxJavaPlugins.onAssembly(new ObservableLastMaybe(this)); + return RxJavaPlugins.onAssembly(new ObservableLastMaybe<>(this)); } /** @@ -9475,7 +9460,7 @@ public final Maybe lastElement() { @SchedulerSupport(SchedulerSupport.NONE) public final Single last(T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new ObservableLastSingle(this, defaultItem)); + return RxJavaPlugins.onAssembly(new ObservableLastSingle<>(this, defaultItem)); } /** @@ -9495,7 +9480,7 @@ public final Single last(T defaultItem) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Single lastOrError() { - return RxJavaPlugins.onAssembly(new ObservableLastSingle(this, null)); + return RxJavaPlugins.onAssembly(new ObservableLastSingle<>(this, null)); } /** @@ -9689,7 +9674,7 @@ public final Observable map(Function mapper) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Observable> materialize() { - return RxJavaPlugins.onAssembly(new ObservableMaterialize(this)); + return RxJavaPlugins.onAssembly(new ObservableMaterialize<>(this)); } /** @@ -9736,7 +9721,7 @@ public final Observable mergeWith(ObservableSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable mergeWith(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableMergeWithSingle(this, other)); + return RxJavaPlugins.onAssembly(new ObservableMergeWithSingle<>(this, other)); } /** @@ -9760,7 +9745,7 @@ public final Observable mergeWith(@NonNull SingleSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable mergeWith(@NonNull MaybeSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableMergeWithMaybe(this, other)); + return RxJavaPlugins.onAssembly(new ObservableMergeWithMaybe<>(this, other)); } /** @@ -9781,7 +9766,7 @@ public final Observable mergeWith(@NonNull MaybeSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable mergeWith(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableMergeWithCompletable(this, other)); + return RxJavaPlugins.onAssembly(new ObservableMergeWithCompletable<>(this, other)); } /** @@ -9897,7 +9882,7 @@ public final Observable observeOn(Scheduler scheduler, boolean delayError) { public final Observable observeOn(Scheduler scheduler, boolean delayError, int bufferSize) { Objects.requireNonNull(scheduler, "scheduler is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new ObservableObserveOn(this, scheduler, delayError, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableObserveOn<>(this, scheduler, delayError, bufferSize)); } /** @@ -9955,7 +9940,7 @@ public final Observable ofType(final Class clazz) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable onErrorResumeNext(Function> resumeFunction) { Objects.requireNonNull(resumeFunction, "resumeFunction is null"); - return RxJavaPlugins.onAssembly(new ObservableOnErrorNext(this, resumeFunction)); + return RxJavaPlugins.onAssembly(new ObservableOnErrorNext<>(this, resumeFunction)); } /** @@ -10024,7 +10009,7 @@ public final Observable onErrorResumeWith(final ObservableSource @SchedulerSupport(SchedulerSupport.NONE) public final Observable onErrorReturn(Function valueSupplier) { Objects.requireNonNull(valueSupplier, "valueSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableOnErrorReturn(this, valueSupplier)); + return RxJavaPlugins.onAssembly(new ObservableOnErrorReturn<>(this, valueSupplier)); } /** @@ -10076,7 +10061,7 @@ public final Observable onErrorReturnItem(final T item) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Observable onTerminateDetach() { - return RxJavaPlugins.onAssembly(new ObservableDetach(this)); + return RxJavaPlugins.onAssembly(new ObservableDetach<>(this)); } /** @@ -10097,7 +10082,7 @@ public final Observable onTerminateDetach() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final ConnectableObservable publish() { - return RxJavaPlugins.onAssembly(new ObservablePublish(this)); + return RxJavaPlugins.onAssembly(new ObservablePublish<>(this)); } /** @@ -10123,7 +10108,7 @@ public final ConnectableObservable publish() { @SchedulerSupport(SchedulerSupport.NONE) public final Observable publish(Function, ? extends ObservableSource> selector) { Objects.requireNonNull(selector, "selector is null"); - return RxJavaPlugins.onAssembly(new ObservablePublishSelector(this, selector)); + return RxJavaPlugins.onAssembly(new ObservablePublishSelector<>(this, selector)); } /** @@ -10158,7 +10143,7 @@ public final Observable publish(Function, ? extends @SchedulerSupport(SchedulerSupport.NONE) public final Maybe reduce(BiFunction reducer) { Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new ObservableReduceMaybe(this, reducer)); + return RxJavaPlugins.onAssembly(new ObservableReduceMaybe<>(this, reducer)); } /** @@ -10216,7 +10201,7 @@ public final Maybe reduce(BiFunction reducer) { public final Single reduce(R seed, BiFunction reducer) { Objects.requireNonNull(seed, "seed is null"); Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new ObservableReduceSeedSingle(this, seed, reducer)); + return RxJavaPlugins.onAssembly(new ObservableReduceSeedSingle<>(this, seed, reducer)); } /** @@ -10256,7 +10241,7 @@ public final Single reduce(R seed, BiFunction reducer) { public final Single reduceWith(Supplier seedSupplier, BiFunction reducer) { Objects.requireNonNull(seedSupplier, "seedSupplier is null"); Objects.requireNonNull(reducer, "reducer is null"); - return RxJavaPlugins.onAssembly(new ObservableReduceWithSingle(this, seedSupplier, reducer)); + return RxJavaPlugins.onAssembly(new ObservableReduceWithSingle<>(this, seedSupplier, reducer)); } /** @@ -10305,7 +10290,7 @@ public final Observable repeat(long times) { if (times == 0) { return empty(); } - return RxJavaPlugins.onAssembly(new ObservableRepeat(this, times)); + return RxJavaPlugins.onAssembly(new ObservableRepeat<>(this, times)); } /** @@ -10331,7 +10316,7 @@ public final Observable repeat(long times) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable repeatUntil(BooleanSupplier stop) { Objects.requireNonNull(stop, "stop is null"); - return RxJavaPlugins.onAssembly(new ObservableRepeatUntil(this, stop)); + return RxJavaPlugins.onAssembly(new ObservableRepeatUntil<>(this, stop)); } /** @@ -10357,7 +10342,7 @@ public final Observable repeatUntil(BooleanSupplier stop) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable repeatWhen(final Function, ? extends ObservableSource> handler) { Objects.requireNonNull(handler, "handler is null"); - return RxJavaPlugins.onAssembly(new ObservableRepeatWhen(this, handler)); + return RxJavaPlugins.onAssembly(new ObservableRepeatWhen<>(this, handler)); } /** @@ -11048,7 +11033,7 @@ public final Observable retry() { public final Observable retry(BiPredicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableRetryBiPredicate(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableRetryBiPredicate<>(this, predicate)); } /** @@ -11101,7 +11086,7 @@ public final Observable retry(long times, Predicate predic } Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableRetryPredicate(this, times, predicate)); + return RxJavaPlugins.onAssembly(new ObservableRetryPredicate<>(this, times, predicate)); } /** @@ -11218,7 +11203,7 @@ public final Observable retryUntil(final BooleanSupplier stop) { public final Observable retryWhen( final Function, ? extends ObservableSource> handler) { Objects.requireNonNull(handler, "handler is null"); - return RxJavaPlugins.onAssembly(new ObservableRetryWhen(this, handler)); + return RxJavaPlugins.onAssembly(new ObservableRetryWhen<>(this, handler)); } /** @@ -11325,7 +11310,7 @@ public final Observable sample(long period, TimeUnit unit, boolean emitLast) public final Observable sample(long period, TimeUnit unit, Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableSampleTimed(this, period, unit, scheduler, false)); + return RxJavaPlugins.onAssembly(new ObservableSampleTimed<>(this, period, unit, scheduler, false)); } /** @@ -11361,7 +11346,7 @@ public final Observable sample(long period, TimeUnit unit, Scheduler schedule public final Observable sample(long period, TimeUnit unit, Scheduler scheduler, boolean emitLast) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableSampleTimed(this, period, unit, scheduler, emitLast)); + return RxJavaPlugins.onAssembly(new ObservableSampleTimed<>(this, period, unit, scheduler, emitLast)); } /** @@ -11386,7 +11371,7 @@ public final Observable sample(long period, TimeUnit unit, Scheduler schedule @SchedulerSupport(SchedulerSupport.NONE) public final Observable sample(ObservableSource sampler) { Objects.requireNonNull(sampler, "sampler is null"); - return RxJavaPlugins.onAssembly(new ObservableSampleWithObservable(this, sampler, false)); + return RxJavaPlugins.onAssembly(new ObservableSampleWithObservable<>(this, sampler, false)); } /** @@ -11418,7 +11403,7 @@ public final Observable sample(ObservableSource sampler) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable sample(ObservableSource sampler, boolean emitLast) { Objects.requireNonNull(sampler, "sampler is null"); - return RxJavaPlugins.onAssembly(new ObservableSampleWithObservable(this, sampler, emitLast)); + return RxJavaPlugins.onAssembly(new ObservableSampleWithObservable<>(this, sampler, emitLast)); } /** @@ -11446,7 +11431,7 @@ public final Observable sample(ObservableSource sampler, boolean emitL @SchedulerSupport(SchedulerSupport.NONE) public final Observable scan(BiFunction accumulator) { Objects.requireNonNull(accumulator, "accumulator is null"); - return RxJavaPlugins.onAssembly(new ObservableScan(this, accumulator)); + return RxJavaPlugins.onAssembly(new ObservableScan<>(this, accumulator)); } /** @@ -11531,7 +11516,7 @@ public final Observable scan(final R initialValue, BiFunction Observable scanWith(Supplier seedSupplier, BiFunction accumulator) { Objects.requireNonNull(seedSupplier, "seedSupplier is null"); Objects.requireNonNull(accumulator, "accumulator is null"); - return RxJavaPlugins.onAssembly(new ObservableScanSeed(this, seedSupplier, accumulator)); + return RxJavaPlugins.onAssembly(new ObservableScanSeed<>(this, seedSupplier, accumulator)); } /** @@ -11557,7 +11542,7 @@ public final Observable scanWith(Supplier seedSupplier, BiFunction serialize() { - return RxJavaPlugins.onAssembly(new ObservableSerialized(this)); + return RxJavaPlugins.onAssembly(new ObservableSerialized<>(this)); } /** @@ -11599,7 +11584,7 @@ public final Observable share() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Maybe singleElement() { - return RxJavaPlugins.onAssembly(new ObservableSingleMaybe(this)); + return RxJavaPlugins.onAssembly(new ObservableSingleMaybe<>(this)); } /** @@ -11622,7 +11607,7 @@ public final Maybe singleElement() { @SchedulerSupport(SchedulerSupport.NONE) public final Single single(T defaultItem) { Objects.requireNonNull(defaultItem, "defaultItem is null"); - return RxJavaPlugins.onAssembly(new ObservableSingleSingle(this, defaultItem)); + return RxJavaPlugins.onAssembly(new ObservableSingleSingle<>(this, defaultItem)); } /** @@ -11643,7 +11628,7 @@ public final Single single(T defaultItem) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Single singleOrError() { - return RxJavaPlugins.onAssembly(new ObservableSingleSingle(this, null)); + return RxJavaPlugins.onAssembly(new ObservableSingleSingle<>(this, null)); } /** @@ -11668,7 +11653,7 @@ public final Observable skip(long count) { if (count <= 0) { return RxJavaPlugins.onAssembly(this); } - return RxJavaPlugins.onAssembly(new ObservableSkip(this, count)); + return RxJavaPlugins.onAssembly(new ObservableSkip<>(this, count)); } /** @@ -11753,7 +11738,7 @@ public final Observable skipLast(int count) { if (count == 0) { return RxJavaPlugins.onAssembly(this); } - return RxJavaPlugins.onAssembly(new ObservableSkipLast(this, count)); + return RxJavaPlugins.onAssembly(new ObservableSkipLast<>(this, count)); } /** @@ -11907,7 +11892,7 @@ public final Observable skipLast(long time, TimeUnit unit, Scheduler schedule ObjectHelper.verifyPositive(bufferSize, "bufferSize"); // the internal buffer holds pairs of (timestamp, value) so double the default buffer size int s = bufferSize << 1; - return RxJavaPlugins.onAssembly(new ObservableSkipLastTimed(this, time, unit, scheduler, s, delayError)); + return RxJavaPlugins.onAssembly(new ObservableSkipLastTimed<>(this, time, unit, scheduler, s, delayError)); } /** @@ -11932,7 +11917,7 @@ public final Observable skipLast(long time, TimeUnit unit, Scheduler schedule @SchedulerSupport(SchedulerSupport.NONE) public final Observable skipUntil(ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableSkipUntil(this, other)); + return RxJavaPlugins.onAssembly(new ObservableSkipUntil<>(this, other)); } /** @@ -11955,7 +11940,7 @@ public final Observable skipUntil(ObservableSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable skipWhile(Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableSkipWhile(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableSkipWhile<>(this, predicate)); } /** @@ -12217,7 +12202,7 @@ public final Disposable subscribe(Consumer onNext, Consumer ls = new LambdaObserver(onNext, onError, onComplete, Functions.emptyConsumer()); + LambdaObserver ls = new LambdaObserver<>(onNext, onError, onComplete, Functions.emptyConsumer()); subscribe(ls); @@ -12310,7 +12295,7 @@ public final > E subscribeWith(E observer) { @SchedulerSupport(SchedulerSupport.CUSTOM) public final Observable subscribeOn(Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableSubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableSubscribeOn<>(this, scheduler)); } /** @@ -12333,7 +12318,7 @@ public final Observable subscribeOn(Scheduler scheduler) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable switchIfEmpty(ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchIfEmpty(this, other)); + return RxJavaPlugins.onAssembly(new ObservableSwitchIfEmpty<>(this, other)); } /** @@ -12401,7 +12386,7 @@ public final Observable switchMap(Function(this, mapper, bufferSize, false)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMap<>(this, mapper, bufferSize, false)); } /** @@ -12442,7 +12427,7 @@ public final Observable switchMap(Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapCompletable(this, mapper, false)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapCompletable<>(this, mapper, false)); } /** @@ -12484,7 +12469,7 @@ public final Completable switchMapCompletable(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapCompletable(this, mapper, true)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapCompletable<>(this, mapper, true)); } /** @@ -12520,7 +12505,7 @@ public final Completable switchMapCompletableDelayError(@NonNull Function Observable switchMapMaybe(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapMaybe(this, mapper, false)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapMaybe<>(this, mapper, false)); } /** @@ -12546,7 +12531,7 @@ public final Observable switchMapMaybe(@NonNull Function Observable switchMapMaybeDelayError(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapMaybe(this, mapper, true)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapMaybe<>(this, mapper, true)); } /** @@ -12577,7 +12562,7 @@ public final Observable switchMapMaybeDelayError(@NonNull Function Observable switchMapSingle(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapSingle(this, mapper, false)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapSingle<>(this, mapper, false)); } /** @@ -12609,7 +12594,7 @@ public final Observable switchMapSingle(@NonNull Function Observable switchMapSingleDelayError(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new ObservableSwitchMapSingle(this, mapper, true)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMapSingle<>(this, mapper, true)); } /** @@ -12681,7 +12666,7 @@ public final Observable switchMapDelayError(Function(this, mapper, bufferSize, true)); + return RxJavaPlugins.onAssembly(new ObservableSwitchMap<>(this, mapper, bufferSize, true)); } /** @@ -12710,7 +12695,7 @@ public final Observable take(long count) { if (count < 0) { throw new IllegalArgumentException("count >= 0 required but it was " + count); } - return RxJavaPlugins.onAssembly(new ObservableTake(this, count)); + return RxJavaPlugins.onAssembly(new ObservableTake<>(this, count)); } /** @@ -12793,12 +12778,12 @@ public final Observable takeLast(int count) { throw new IndexOutOfBoundsException("count >= 0 required but it was " + count); } if (count == 0) { - return RxJavaPlugins.onAssembly(new ObservableIgnoreElements(this)); + return RxJavaPlugins.onAssembly(new ObservableIgnoreElements<>(this)); } if (count == 1) { - return RxJavaPlugins.onAssembly(new ObservableTakeLastOne(this)); + return RxJavaPlugins.onAssembly(new ObservableTakeLastOne<>(this)); } - return RxJavaPlugins.onAssembly(new ObservableTakeLast(this, count)); + return RxJavaPlugins.onAssembly(new ObservableTakeLast<>(this, count)); } /** @@ -12900,7 +12885,7 @@ public final Observable takeLast(long count, long time, TimeUnit unit, Schedu if (count < 0) { throw new IndexOutOfBoundsException("count >= 0 required but it was " + count); } - return RxJavaPlugins.onAssembly(new ObservableTakeLastTimed(this, count, time, unit, scheduler, bufferSize, delayError)); + return RxJavaPlugins.onAssembly(new ObservableTakeLastTimed<>(this, count, time, unit, scheduler, bufferSize, delayError)); } /** @@ -13068,7 +13053,7 @@ public final Observable takeLast(long time, TimeUnit unit, Scheduler schedule @SchedulerSupport(SchedulerSupport.NONE) public final Observable takeUntil(ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new ObservableTakeUntil(this, other)); + return RxJavaPlugins.onAssembly(new ObservableTakeUntil<>(this, other)); } /** @@ -13097,7 +13082,7 @@ public final Observable takeUntil(ObservableSource other) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable takeUntil(Predicate stopPredicate) { Objects.requireNonNull(stopPredicate, "stopPredicate is null"); - return RxJavaPlugins.onAssembly(new ObservableTakeUntilPredicate(this, stopPredicate)); + return RxJavaPlugins.onAssembly(new ObservableTakeUntilPredicate<>(this, stopPredicate)); } /** @@ -13121,7 +13106,7 @@ public final Observable takeUntil(Predicate stopPredicate) { @SchedulerSupport(SchedulerSupport.NONE) public final Observable takeWhile(Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new ObservableTakeWhile(this, predicate)); + return RxJavaPlugins.onAssembly(new ObservableTakeWhile<>(this, predicate)); } /** @@ -13178,7 +13163,7 @@ public final Observable throttleFirst(long windowDuration, TimeUnit unit) { public final Observable throttleFirst(long skipDuration, TimeUnit unit, Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableThrottleFirstTimed(this, skipDuration, unit, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableThrottleFirstTimed<>(this, skipDuration, unit, scheduler)); } /** @@ -13365,7 +13350,7 @@ public final Observable throttleLatest(long timeout, TimeUnit unit, Scheduler public final Observable throttleLatest(long timeout, TimeUnit unit, Scheduler scheduler, boolean emitLast) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableThrottleLatest(this, timeout, unit, scheduler, emitLast)); + return RxJavaPlugins.onAssembly(new ObservableThrottleLatest<>(this, timeout, unit, scheduler, emitLast)); } /** @@ -13518,7 +13503,7 @@ public final Observable> timeInterval(TimeUnit unit) { public final Observable> timeInterval(TimeUnit unit, Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableTimeInterval(this, unit, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableTimeInterval<>(this, unit, scheduler)); } /** @@ -13779,7 +13764,7 @@ private Observable timeout0(long timeout, TimeUnit timeUnit, ObservableSource Scheduler scheduler) { Objects.requireNonNull(timeUnit, "timeUnit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableTimeoutTimed(this, timeout, timeUnit, scheduler, other)); + return RxJavaPlugins.onAssembly(new ObservableTimeoutTimed<>(this, timeout, timeUnit, scheduler, other)); } private Observable timeout0( @@ -13787,7 +13772,7 @@ private Observable timeout0( Function> itemTimeoutIndicator, ObservableSource other) { Objects.requireNonNull(itemTimeoutIndicator, "itemTimeoutIndicator is null"); - return RxJavaPlugins.onAssembly(new ObservableTimeout(this, firstTimeoutIndicator, itemTimeoutIndicator, other)); + return RxJavaPlugins.onAssembly(new ObservableTimeout<>(this, firstTimeoutIndicator, itemTimeoutIndicator, other)); } /** @@ -13995,7 +13980,7 @@ public final Single> toList(final int capacityHint) { @SchedulerSupport(SchedulerSupport.NONE) public final > Single toList(Supplier collectionSupplier) { Objects.requireNonNull(collectionSupplier, "collectionSupplier is null"); - return RxJavaPlugins.onAssembly(new ObservableToListSingle(this, collectionSupplier)); + return RxJavaPlugins.onAssembly(new ObservableToListSingle<>(this, collectionSupplier)); } /** @@ -14284,7 +14269,7 @@ public final Single>> toMultimap( @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final Flowable toFlowable(BackpressureStrategy strategy) { - Flowable f = new FlowableFromObservable(this); + Flowable f = new FlowableFromObservable<>(this); switch (strategy) { case DROP: @@ -14294,7 +14279,7 @@ public final Flowable toFlowable(BackpressureStrategy strategy) { case MISSING: return f; case ERROR: - return RxJavaPlugins.onAssembly(new FlowableOnBackpressureError(f)); + return RxJavaPlugins.onAssembly(new FlowableOnBackpressureError<>(f)); default: return f.onBackpressureBuffer(); } @@ -14439,7 +14424,7 @@ public final Single> toSortedList(int capacityHint) { @SchedulerSupport(SchedulerSupport.CUSTOM) public final Observable unsubscribeOn(Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new ObservableUnsubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new ObservableUnsubscribeOn<>(this, scheduler)); } /** @@ -14525,7 +14510,7 @@ public final Observable> window(long count, long skip, int bufferS ObjectHelper.verifyPositive(count, "count"); ObjectHelper.verifyPositive(skip, "skip"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new ObservableWindow(this, count, skip, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableWindow<>(this, count, skip, bufferSize)); } /** @@ -14635,7 +14620,7 @@ public final Observable> window(long timespan, long timeskip, Time ObjectHelper.verifyPositive(bufferSize, "bufferSize"); Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(unit, "unit is null"); - return RxJavaPlugins.onAssembly(new ObservableWindowTimed(this, timespan, timeskip, unit, scheduler, Long.MAX_VALUE, bufferSize, false)); + return RxJavaPlugins.onAssembly(new ObservableWindowTimed<>(this, timespan, timeskip, unit, scheduler, Long.MAX_VALUE, bufferSize, false)); } /** @@ -14906,7 +14891,7 @@ public final Observable> window( Objects.requireNonNull(scheduler, "scheduler is null"); Objects.requireNonNull(unit, "unit is null"); ObjectHelper.verifyPositive(count, "count"); - return RxJavaPlugins.onAssembly(new ObservableWindowTimed(this, timespan, timespan, unit, scheduler, count, bufferSize, restart)); + return RxJavaPlugins.onAssembly(new ObservableWindowTimed<>(this, timespan, timespan, unit, scheduler, count, bufferSize, restart)); } /** @@ -14972,7 +14957,7 @@ public final Observable> window(ObservableSource boundary) public final Observable> window(ObservableSource boundary, int bufferSize) { Objects.requireNonNull(boundary, "boundary is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new ObservableWindowBoundary(this, boundary, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableWindowBoundary<>(this, boundary, bufferSize)); } /** @@ -15049,7 +15034,7 @@ public final Observable> window( Objects.requireNonNull(openingIndicator, "openingIndicator is null"); Objects.requireNonNull(closingIndicator, "closingIndicator is null"); ObjectHelper.verifyPositive(bufferSize, "bufferSize"); - return RxJavaPlugins.onAssembly(new ObservableWindowBoundarySelector(this, openingIndicator, closingIndicator, bufferSize)); + return RxJavaPlugins.onAssembly(new ObservableWindowBoundarySelector<>(this, openingIndicator, closingIndicator, bufferSize)); } /** @@ -15230,7 +15215,7 @@ public final Observable withLatestFrom( public final Observable withLatestFrom(ObservableSource[] others, Function combiner) { Objects.requireNonNull(others, "others is null"); Objects.requireNonNull(combiner, "combiner is null"); - return RxJavaPlugins.onAssembly(new ObservableWithLatestFromMany(this, others, combiner)); + return RxJavaPlugins.onAssembly(new ObservableWithLatestFromMany<>(this, others, combiner)); } /** @@ -15259,7 +15244,7 @@ public final Observable withLatestFrom(ObservableSource[] others, Func public final Observable withLatestFrom(Iterable> others, Function combiner) { Objects.requireNonNull(others, "others is null"); Objects.requireNonNull(combiner, "combiner is null"); - return RxJavaPlugins.onAssembly(new ObservableWithLatestFromMany(this, others, combiner)); + return RxJavaPlugins.onAssembly(new ObservableWithLatestFromMany<>(this, others, combiner)); } /** @@ -15447,7 +15432,7 @@ public final Observable zipWith(ObservableSource other, @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final TestObserver test() { // NoPMD - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); subscribe(to); return to; } @@ -15467,7 +15452,7 @@ public final TestObserver test() { // NoPMD @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) public final TestObserver test(boolean dispose) { // NoPMD - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); if (dispose) { to.dispose(); } diff --git a/src/main/java/io/reactivex/rxjava3/core/Single.java b/src/main/java/io/reactivex/rxjava3/core/Single.java index bb742d4a03..ce7ef85608 100644 --- a/src/main/java/io/reactivex/rxjava3/core/Single.java +++ b/src/main/java/io/reactivex/rxjava3/core/Single.java @@ -132,9 +132,9 @@ public abstract class Single implements SingleSource { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single amb(final Iterable> sources) { + public static Single amb(@NonNull Iterable> sources) { Objects.requireNonNull(sources, "sources is null"); - return RxJavaPlugins.onAssembly(new SingleAmb(null, sources)); + return RxJavaPlugins.onAssembly(new SingleAmb<>(null, sources)); } /** @@ -154,15 +154,18 @@ public static Single amb(final Iterable Single ambArray(final SingleSource... sources) { + @SafeVarargs + @NonNull + public static Single ambArray(@NonNull SingleSource... sources) { if (sources.length == 0) { return error(SingleInternalHelper.emptyThrower()); } if (sources.length == 1) { - return wrap((SingleSource)sources[0]); + @SuppressWarnings("unchecked") + SingleSource source = (SingleSource)sources[0]; + return wrap(source); } - return RxJavaPlugins.onAssembly(new SingleAmb(sources, null)); + return RxJavaPlugins.onAssembly(new SingleAmb<>(sources, null)); } /** @@ -185,7 +188,7 @@ public static Single ambArray(final SingleSource... sources) @NonNull @SchedulerSupport(SchedulerSupport.NONE) @BackpressureSupport(BackpressureKind.FULL) - public static Flowable concat(Iterable> sources) { + public static Flowable concat(@NonNull Iterable> sources) { return concat(Flowable.fromIterable(sources)); } @@ -207,7 +210,7 @@ public static Flowable concat(Iterable Observable concat(ObservableSource> sources) { + public static Observable concat(@NonNull ObservableSource> sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new ObservableConcatMap(sources, SingleInternalHelper.toObservable(), 2, ErrorMode.IMMEDIATE)); } @@ -233,7 +236,7 @@ public static Observable concat(ObservableSource Flowable concat(Publisher> sources) { + public static Flowable concat(@NonNull Publisher> sources) { return concat(sources, 2); } @@ -260,7 +263,7 @@ public static Flowable concat(Publisher Flowable concat(Publisher> sources, int prefetch) { + public static Flowable concat(@NonNull Publisher> sources, int prefetch) { Objects.requireNonNull(sources, "sources is null"); ObjectHelper.verifyPositive(prefetch, "prefetch"); return RxJavaPlugins.onAssembly(new FlowableConcatMapPublisher(sources, SingleInternalHelper.toFlowable(), prefetch, ErrorMode.IMMEDIATE)); @@ -289,9 +292,8 @@ public static Flowable concat(Publisher Flowable concat( - SingleSource source1, SingleSource source2 + @NonNull SingleSource source1, @NonNull SingleSource source2 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -323,10 +325,9 @@ public static Flowable concat( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable concat( - SingleSource source1, SingleSource source2, - SingleSource source3 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -361,10 +362,9 @@ public static Flowable concat( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable concat( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -394,7 +394,8 @@ public static Flowable concat( @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Flowable concatArray(SingleSource... sources) { + @SafeVarargs + public static Flowable concatArray(@NonNull SingleSource... sources) { return RxJavaPlugins.onAssembly(new FlowableConcatMap(Flowable.fromArray(sources), SingleInternalHelper.toFlowable(), 2, ErrorMode.BOUNDARY)); } @@ -420,7 +421,8 @@ public static Flowable concatArray(SingleSource... sources) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concatArrayEager(SingleSource... sources) { + @SafeVarargs + public static Flowable concatArrayEager(@NonNull SingleSource... sources) { return Flowable.fromArray(sources).concatMapEager(SingleInternalHelper.toFlowable()); } @@ -448,7 +450,7 @@ public static Flowable concatArrayEager(SingleSource... sour @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable concatEager(Publisher> sources) { + public static Flowable concatEager(@NonNull Publisher> sources) { return Flowable.fromPublisher(sources).concatMapEager(SingleInternalHelper.toFlowable()); } @@ -474,7 +476,7 @@ public static Flowable concatEager(Publisher Flowable concatEager(Iterable> sources) { + public static Flowable concatEager(@NonNull Iterable> sources) { return Flowable.fromIterable(sources).concatMapEager(SingleInternalHelper.toFlowable()); } @@ -523,9 +525,9 @@ public static Flowable concatEager(Iterable Single create(SingleOnSubscribe source) { + public static <@NonNull T> Single create(@NonNull SingleOnSubscribe source) { Objects.requireNonNull(source, "source is null"); - return RxJavaPlugins.onAssembly(new SingleCreate(source)); + return RxJavaPlugins.onAssembly(new SingleCreate<>(source)); } /** @@ -545,9 +547,9 @@ public static Single create(SingleOnSubscribe source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single defer(final Supplier> singleSupplier) { + public static Single defer(@NonNull Supplier> singleSupplier) { Objects.requireNonNull(singleSupplier, "singleSupplier is null"); - return RxJavaPlugins.onAssembly(new SingleDefer(singleSupplier)); + return RxJavaPlugins.onAssembly(new SingleDefer<>(singleSupplier)); } /** @@ -566,7 +568,7 @@ public static Single defer(final Supplier Single error(final Supplier errorSupplier) { + public static Single error(@NonNull Supplier errorSupplier) { Objects.requireNonNull(errorSupplier, "errorSupplier is null"); return RxJavaPlugins.onAssembly(new SingleError(errorSupplier)); } @@ -592,7 +594,7 @@ public static Single error(final Supplier errorSuppl @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single error(final Throwable exception) { + public static Single error(@NonNull Throwable exception) { Objects.requireNonNull(exception, "exception is null"); return error(Functions.justSupplier(exception)); } @@ -628,7 +630,7 @@ public static Single error(final Throwable exception) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromCallable(final Callable callable) { + public static <@NonNull T> Single fromCallable(@NonNull Callable callable) { Objects.requireNonNull(callable, "callable is null"); return RxJavaPlugins.onAssembly(new SingleFromCallable(callable)); } @@ -658,7 +660,8 @@ public static Single fromCallable(final Callable callable) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromFuture(Future future) { + @NonNull + public static <@NonNull T> Single fromFuture(@NonNull Future future) { return toSingle(Flowable.fromFuture(future)); } @@ -691,7 +694,8 @@ public static Single fromFuture(Future future) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromFuture(Future future, long timeout, TimeUnit unit) { + @NonNull + public static <@NonNull T> Single fromFuture(@NonNull Future future, long timeout, @NonNull TimeUnit unit) { return toSingle(Flowable.fromFuture(future, timeout, unit)); } @@ -726,7 +730,8 @@ public static Single fromFuture(Future future, long timeout, */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Single fromFuture(Future future, long timeout, TimeUnit unit, Scheduler scheduler) { + @NonNull + public static <@NonNull T> Single fromFuture(@NonNull Future future, long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return toSingle(Flowable.fromFuture(future, timeout, unit, scheduler)); } @@ -756,7 +761,8 @@ public static Single fromFuture(Future future, long timeout, */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Single fromFuture(Future future, Scheduler scheduler) { + @NonNull + public static <@NonNull T> Single fromFuture(@NonNull Future future, @NonNull Scheduler scheduler) { return toSingle(Flowable.fromFuture(future, scheduler)); } @@ -793,7 +799,7 @@ public static Single fromFuture(Future future, Scheduler sch @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromPublisher(final Publisher publisher) { + public static Single fromPublisher(@NonNull Publisher publisher) { Objects.requireNonNull(publisher, "publisher is null"); return RxJavaPlugins.onAssembly(new SingleFromPublisher(publisher)); } @@ -817,7 +823,7 @@ public static Single fromPublisher(final Publisher publisher @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromObservable(ObservableSource observableSource) { + public static Single fromObservable(@NonNull ObservableSource observableSource) { Objects.requireNonNull(observableSource, "observableSource is null"); return RxJavaPlugins.onAssembly(new ObservableSingleSingle(observableSource, null)); } @@ -855,7 +861,7 @@ public static Single fromObservable(ObservableSource observa @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single fromSupplier(final Supplier supplier) { + public static <@NonNull T> Single fromSupplier(@NonNull Supplier supplier) { Objects.requireNonNull(supplier, "supplier is null"); return RxJavaPlugins.onAssembly(new SingleFromSupplier(supplier)); } @@ -882,9 +888,9 @@ public static Single fromSupplier(final Supplier supplier) { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @NonNull - public static Single just(final T item) { + public static <@NonNull T> Single just(T item) { Objects.requireNonNull(item, "item is null"); - return RxJavaPlugins.onAssembly(new SingleJust(item)); + return RxJavaPlugins.onAssembly(new SingleJust<>(item)); } /** @@ -960,7 +966,7 @@ public static Flowable merge(Iterable @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings({ "unchecked", "rawtypes" }) - public static Flowable merge(Publisher> sources) { + public static Flowable merge(@NonNull Publisher> sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new FlowableFlatMapPublisher(sources, SingleInternalHelper.toFlowable(), false, Integer.MAX_VALUE, Flowable.bufferSize())); } @@ -991,7 +997,7 @@ public static Flowable merge(Publisher Single merge(SingleSource> source) { + public static Single merge(@NonNull SingleSource> source) { Objects.requireNonNull(source, "source is null"); return RxJavaPlugins.onAssembly(new SingleFlatMap, T>(source, (Function)Functions.identity())); } @@ -1036,9 +1042,8 @@ public static Single merge(SingleSource Flowable merge( - SingleSource source1, SingleSource source2 + @NonNull SingleSource source1, @NonNull SingleSource source2 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1087,10 +1092,9 @@ public static Flowable merge( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable merge( - SingleSource source1, SingleSource source2, - SingleSource source3 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1142,10 +1146,9 @@ public static Flowable merge( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable merge( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1176,7 +1179,7 @@ public static Flowable merge( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - public static Flowable mergeDelayError(Iterable> sources) { + public static Flowable mergeDelayError(@NonNull Iterable> sources) { return mergeDelayError(Flowable.fromIterable(sources)); } @@ -1203,7 +1206,7 @@ public static Flowable mergeDelayError(Iterable Flowable mergeDelayError(Publisher> sources) { + public static Flowable mergeDelayError(@NonNull Publisher> sources) { Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new FlowableFlatMapPublisher(sources, SingleInternalHelper.toFlowable(), true, Integer.MAX_VALUE, Flowable.bufferSize())); } @@ -1237,9 +1240,8 @@ public static Flowable mergeDelayError(Publisher Flowable mergeDelayError( - SingleSource source1, SingleSource source2 + @NonNull SingleSource source1, @NonNull SingleSource source2 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1277,10 +1279,9 @@ public static Flowable mergeDelayError( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable mergeDelayError( - SingleSource source1, SingleSource source2, - SingleSource source3 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1321,10 +1322,9 @@ public static Flowable mergeDelayError( @NonNull @BackpressureSupport(BackpressureKind.FULL) @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Flowable mergeDelayError( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4 + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4 ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1348,6 +1348,7 @@ public static Flowable mergeDelayError( @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public static Single never() { return RxJavaPlugins.onAssembly((Single) SingleNever.INSTANCE); } @@ -1367,7 +1368,8 @@ public static Single never() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public static Single timer(long delay, TimeUnit unit) { + @NonNull + public static Single timer(long delay, @NonNull TimeUnit unit) { return timer(delay, unit, Schedulers.computation()); } @@ -1391,7 +1393,7 @@ public static Single timer(long delay, TimeUnit unit) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public static Single timer(final long delay, final TimeUnit unit, final Scheduler scheduler) { + public static Single timer(long delay, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); return RxJavaPlugins.onAssembly(new SingleTimer(delay, unit, scheduler)); @@ -1414,10 +1416,10 @@ public static Single timer(final long delay, final TimeUnit unit, final Sc @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single equals(final SingleSource first, final SingleSource second) { // NOPMD + public static Single equals(@NonNull SingleSource first, @NonNull SingleSource second) { // NOPMD Objects.requireNonNull(first, "first is null"); Objects.requireNonNull(second, "second is null"); - return RxJavaPlugins.onAssembly(new SingleEquals(first, second)); + return RxJavaPlugins.onAssembly(new SingleEquals<>(first, second)); } /** @@ -1440,12 +1442,12 @@ public static Single equals(final SingleSource first, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single unsafeCreate(SingleSource onSubscribe) { + public static Single unsafeCreate(@NonNull SingleSource onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); if (onSubscribe instanceof Single) { throw new IllegalArgumentException("unsafeCreate(Single) should be upgraded"); } - return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource(onSubscribe)); + return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<>(onSubscribe)); } /** @@ -1471,9 +1473,10 @@ public static Single unsafeCreate(SingleSource onSubscribe) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public static Single using(Supplier resourceSupplier, - Function> singleFunction, - Consumer disposer) { + @NonNull + public static Single using(@NonNull Supplier resourceSupplier, + @NonNull Function> singleFunction, + @NonNull Consumer disposer) { return using(resourceSupplier, singleFunction, disposer, true); } @@ -1507,15 +1510,15 @@ public static Single using(Supplier resourceSupplier, @NonNull @SchedulerSupport(SchedulerSupport.NONE) public static Single using( - final Supplier resourceSupplier, - final Function> singleFunction, - final Consumer disposer, - final boolean eager) { + @NonNull Supplier resourceSupplier, + @NonNull Function> singleFunction, + @NonNull Consumer disposer, + boolean eager) { Objects.requireNonNull(resourceSupplier, "resourceSupplier is null"); Objects.requireNonNull(singleFunction, "singleFunction is null"); Objects.requireNonNull(disposer, "disposer is null"); - return RxJavaPlugins.onAssembly(new SingleUsing(resourceSupplier, singleFunction, disposer, eager)); + return RxJavaPlugins.onAssembly(new SingleUsing<>(resourceSupplier, singleFunction, disposer, eager)); } /** @@ -1534,12 +1537,12 @@ public static Single using( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single wrap(SingleSource source) { + public static Single wrap(@NonNull SingleSource source) { Objects.requireNonNull(source, "source is null"); if (source instanceof Single) { return RxJavaPlugins.onAssembly((Single)source); } - return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource(source)); + return RxJavaPlugins.onAssembly(new SingleFromUnsafeSource<>(source)); } /** @@ -1574,7 +1577,7 @@ public static Single wrap(SingleSource source) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single zip(final Iterable> sources, Function zipper) { + public static Single zip(@NonNull Iterable> sources, @NonNull Function zipper) { Objects.requireNonNull(zipper, "zipper is null"); Objects.requireNonNull(sources, "sources is null"); return RxJavaPlugins.onAssembly(new SingleZipIterable(sources, zipper)); @@ -1606,10 +1609,9 @@ public static Single zip(final Iterable Single zip( - SingleSource source1, SingleSource source2, - BiFunction zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull BiFunction zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1645,11 +1647,10 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, - Function3 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, + @NonNull Function3 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1689,11 +1690,10 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - Function4 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull Function4 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1737,12 +1737,11 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - SingleSource source5, - Function5 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull SingleSource source5, + @NonNull Function5 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1790,12 +1789,11 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - SingleSource source5, SingleSource source6, - Function6 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull SingleSource source5, @NonNull SingleSource source6, + @NonNull Function6 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1847,13 +1845,12 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - SingleSource source5, SingleSource source6, - SingleSource source7, - Function7 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull SingleSource source5, @NonNull SingleSource source6, + @NonNull SingleSource source7, + @NonNull Function7 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1909,13 +1906,12 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - SingleSource source5, SingleSource source6, - SingleSource source7, SingleSource source8, - Function8 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull SingleSource source5, @NonNull SingleSource source6, + @NonNull SingleSource source7, @NonNull SingleSource source8, + @NonNull Function8 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -1975,14 +1971,13 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") public static Single zip( - SingleSource source1, SingleSource source2, - SingleSource source3, SingleSource source4, - SingleSource source5, SingleSource source6, - SingleSource source7, SingleSource source8, - SingleSource source9, - Function9 zipper + @NonNull SingleSource source1, @NonNull SingleSource source2, + @NonNull SingleSource source3, @NonNull SingleSource source4, + @NonNull SingleSource source5, @NonNull SingleSource source6, + @NonNull SingleSource source7, @NonNull SingleSource source8, + @NonNull SingleSource source9, + @NonNull Function9 zipper ) { Objects.requireNonNull(source1, "source1 is null"); Objects.requireNonNull(source2, "source2 is null"); @@ -2027,7 +2022,8 @@ public static Single zip( @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public static Single zipArray(Function zipper, SingleSource... sources) { + @SafeVarargs + public static Single zipArray(@NonNull Function zipper, @NonNull SingleSource... sources) { Objects.requireNonNull(zipper, "zipper is null"); Objects.requireNonNull(sources, "sources is null"); if (sources.length == 0) { @@ -2052,8 +2048,7 @@ public static Single zipArray(Function @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - @SuppressWarnings("unchecked") - public final Single ambWith(SingleSource other) { + public final Single ambWith(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); return ambArray(this, other); } @@ -2072,8 +2067,9 @@ public final Single ambWith(SingleSource other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single hide() { - return RxJavaPlugins.onAssembly(new SingleHide(this)); + return RxJavaPlugins.onAssembly(new SingleHide<>(this)); } /** @@ -2099,7 +2095,8 @@ public final Single hide() { @SuppressWarnings("unchecked") @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single compose(SingleTransformer transformer) { + @NonNull + public final Single compose(@NonNull SingleTransformer transformer) { return wrap(((SingleTransformer) Objects.requireNonNull(transformer, "transformer is null")).apply(this)); } @@ -2119,8 +2116,9 @@ public final Single compose(SingleTransformer tra */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single cache() { - return RxJavaPlugins.onAssembly(new SingleCache(this)); + return RxJavaPlugins.onAssembly(new SingleCache<>(this)); } /** @@ -2140,7 +2138,7 @@ public final Single cache() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single cast(final Class clazz) { + public final Single cast(@NonNull Class clazz) { Objects.requireNonNull(clazz, "clazz is null"); return map(Functions.castFunction(clazz)); } @@ -2166,7 +2164,8 @@ public final Single cast(final Class clazz) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable concatWith(SingleSource other) { + @NonNull + public final Flowable concatWith(@NonNull SingleSource other) { return concat(this, other); } @@ -2187,7 +2186,8 @@ public final Flowable concatWith(SingleSource other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Single delay(long time, TimeUnit unit) { + @NonNull + public final Single delay(long time, @NonNull TimeUnit unit) { return delay(time, unit, Schedulers.computation(), false); } @@ -2208,7 +2208,8 @@ public final Single delay(long time, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Single delay(long time, TimeUnit unit, boolean delayError) { + @NonNull + public final Single delay(long time, @NonNull TimeUnit unit, boolean delayError) { return delay(time, unit, Schedulers.computation(), delayError); } @@ -2233,7 +2234,8 @@ public final Single delay(long time, TimeUnit unit, boolean delayError) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single delay(final long time, final TimeUnit unit, final Scheduler scheduler) { + @NonNull + public final Single delay(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delay(time, unit, scheduler, false); } @@ -2259,10 +2261,10 @@ public final Single delay(final long time, final TimeUnit unit, final Schedul @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single delay(final long time, final TimeUnit unit, final Scheduler scheduler, boolean delayError) { + public final Single delay(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, boolean delayError) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new SingleDelay(this, time, unit, scheduler, delayError)); + return RxJavaPlugins.onAssembly(new SingleDelay<>(this, time, unit, scheduler, delayError)); } /** @@ -2284,9 +2286,9 @@ public final Single delay(final long time, final TimeUnit unit, final Schedul @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single delaySubscription(CompletableSource other) { + public final Single delaySubscription(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable(this, other)); + return RxJavaPlugins.onAssembly(new SingleDelayWithCompletable<>(this, other)); } /** @@ -2309,9 +2311,9 @@ public final Single delaySubscription(CompletableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single delaySubscription(SingleSource other) { + public final Single delaySubscription(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new SingleDelayWithSingle(this, other)); + return RxJavaPlugins.onAssembly(new SingleDelayWithSingle<>(this, other)); } /** @@ -2334,9 +2336,9 @@ public final Single delaySubscription(SingleSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single delaySubscription(ObservableSource other) { + public final Single delaySubscription(@NonNull ObservableSource other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new SingleDelayWithObservable(this, other)); + return RxJavaPlugins.onAssembly(new SingleDelayWithObservable<>(this, other)); } /** @@ -2364,9 +2366,9 @@ public final Single delaySubscription(ObservableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single delaySubscription(Publisher other) { + public final Single delaySubscription(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new SingleDelayWithPublisher(this, other)); + return RxJavaPlugins.onAssembly(new SingleDelayWithPublisher<>(this, other)); } /** @@ -2385,7 +2387,8 @@ public final Single delaySubscription(Publisher other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Single delaySubscription(long time, TimeUnit unit) { + @NonNull + public final Single delaySubscription(long time, @NonNull TimeUnit unit) { return delaySubscription(time, unit, Schedulers.computation()); } @@ -2406,7 +2409,8 @@ public final Single delaySubscription(long time, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single delaySubscription(long time, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Single delaySubscription(long time, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return delaySubscription(Observable.timer(time, unit, scheduler)); } @@ -2445,9 +2449,9 @@ public final Single delaySubscription(long time, TimeUnit unit, Scheduler sch @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe dematerialize(Function> selector) { + public final <@NonNull R> Maybe dematerialize(@NonNull Function> selector) { Objects.requireNonNull(selector, "selector is null"); - return RxJavaPlugins.onAssembly(new SingleDematerialize(this, selector)); + return RxJavaPlugins.onAssembly(new SingleDematerialize<>(this, selector)); } /** @@ -2469,9 +2473,9 @@ public final Maybe dematerialize(Function> sel @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doAfterSuccess(Consumer onAfterSuccess) { + public final Single doAfterSuccess(@NonNull Consumer onAfterSuccess) { Objects.requireNonNull(onAfterSuccess, "onAfterSuccess is null"); - return RxJavaPlugins.onAssembly(new SingleDoAfterSuccess(this, onAfterSuccess)); + return RxJavaPlugins.onAssembly(new SingleDoAfterSuccess<>(this, onAfterSuccess)); } /** @@ -2498,9 +2502,9 @@ public final Single doAfterSuccess(Consumer onAfterSuccess) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doAfterTerminate(Action onAfterTerminate) { + public final Single doAfterTerminate(@NonNull Action onAfterTerminate) { Objects.requireNonNull(onAfterTerminate, "onAfterTerminate is null"); - return RxJavaPlugins.onAssembly(new SingleDoAfterTerminate(this, onAfterTerminate)); + return RxJavaPlugins.onAssembly(new SingleDoAfterTerminate<>(this, onAfterTerminate)); } /** @@ -2525,9 +2529,9 @@ public final Single doAfterTerminate(Action onAfterTerminate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doFinally(Action onFinally) { + public final Single doFinally(@NonNull Action onFinally) { Objects.requireNonNull(onFinally, "onFinally is null"); - return RxJavaPlugins.onAssembly(new SingleDoFinally(this, onFinally)); + return RxJavaPlugins.onAssembly(new SingleDoFinally<>(this, onFinally)); } /** @@ -2547,9 +2551,9 @@ public final Single doFinally(Action onFinally) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnSubscribe(final Consumer onSubscribe) { + public final Single doOnSubscribe(@NonNull Consumer onSubscribe) { Objects.requireNonNull(onSubscribe, "onSubscribe is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnSubscribe(this, onSubscribe)); + return RxJavaPlugins.onAssembly(new SingleDoOnSubscribe<>(this, onSubscribe)); } /** @@ -2574,9 +2578,9 @@ public final Single doOnSubscribe(final Consumer onSubscr @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnTerminate(final Action onTerminate) { + public final Single doOnTerminate(@NonNull Action onTerminate) { Objects.requireNonNull(onTerminate, "onTerminate is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnTerminate(this, onTerminate)); + return RxJavaPlugins.onAssembly(new SingleDoOnTerminate<>(this, onTerminate)); } /** @@ -2596,9 +2600,9 @@ public final Single doOnTerminate(final Action onTerminate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnSuccess(final Consumer onSuccess) { + public final Single doOnSuccess(@NonNull Consumer onSuccess) { Objects.requireNonNull(onSuccess, "onSuccess is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnSuccess(this, onSuccess)); + return RxJavaPlugins.onAssembly(new SingleDoOnSuccess<>(this, onSuccess)); } /** @@ -2617,9 +2621,9 @@ public final Single doOnSuccess(final Consumer onSuccess) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnEvent(final BiConsumer onEvent) { + public final Single doOnEvent(@NonNull BiConsumer onEvent) { Objects.requireNonNull(onEvent, "onEvent is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnEvent(this, onEvent)); + return RxJavaPlugins.onAssembly(new SingleDoOnEvent<>(this, onEvent)); } /** @@ -2639,9 +2643,9 @@ public final Single doOnEvent(final BiConsumer @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnError(final Consumer onError) { + public final Single doOnError(@NonNull Consumer onError) { Objects.requireNonNull(onError, "onError is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnError(this, onError)); + return RxJavaPlugins.onAssembly(new SingleDoOnError<>(this, onError)); } /** @@ -2662,9 +2666,9 @@ public final Single doOnError(final Consumer onError) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single doOnDispose(final Action onDispose) { + public final Single doOnDispose(@NonNull Action onDispose) { Objects.requireNonNull(onDispose, "onDispose is null"); - return RxJavaPlugins.onAssembly(new SingleDoOnDispose(this, onDispose)); + return RxJavaPlugins.onAssembly(new SingleDoOnDispose<>(this, onDispose)); } /** @@ -2687,9 +2691,9 @@ public final Single doOnDispose(final Action onDispose) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Maybe filter(Predicate predicate) { + public final Maybe filter(@NonNull Predicate predicate) { Objects.requireNonNull(predicate, "predicate is null"); - return RxJavaPlugins.onAssembly(new MaybeFilterSingle(this, predicate)); + return RxJavaPlugins.onAssembly(new MaybeFilterSingle<>(this, predicate)); } /** @@ -2711,9 +2715,9 @@ public final Maybe filter(Predicate predicate) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single flatMap(Function> mapper) { + public final Single flatMap(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMap(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMap<>(this, mapper)); } /** @@ -2735,9 +2739,9 @@ public final Single flatMap(Function Maybe flatMapMaybe(final Function> mapper) { + public final Maybe flatMapMaybe(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapMaybe(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapMaybe<>(this, mapper)); } /** @@ -2764,9 +2768,9 @@ public final Maybe flatMapMaybe(final Function Flowable flatMapPublisher(Function> mapper) { + public final Flowable flatMapPublisher(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapPublisher(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapPublisher<>(this, mapper)); } /** @@ -2793,9 +2797,9 @@ public final Flowable flatMapPublisher(Function Flowable flattenAsFlowable(final Function> mapper) { + public final Flowable flattenAsFlowable(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapIterableFlowable(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapIterableFlowable<>(this, mapper)); } /** @@ -2819,9 +2823,9 @@ public final Flowable flattenAsFlowable(final Function Observable flattenAsObservable(final Function> mapper) { + public final <@NonNull U> Observable flattenAsObservable(@NonNull Function<@NonNull ? super T, @NonNull ? extends Iterable> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapIterableObservable(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapIterableObservable<>(this, mapper)); } /** @@ -2843,9 +2847,9 @@ public final Observable flattenAsObservable(final Function Observable flatMapObservable(Function> mapper) { + public final <@NonNull R> Observable flatMapObservable(@NonNull Function> mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapObservable(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapObservable<>(this, mapper)); } /** @@ -2868,9 +2872,9 @@ public final Observable flatMapObservable(Function mapper) { + public final Completable flatMapCompletable(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); - return RxJavaPlugins.onAssembly(new SingleFlatMapCompletable(this, mapper)); + return RxJavaPlugins.onAssembly(new SingleFlatMapCompletable<>(this, mapper)); } /** @@ -2890,8 +2894,9 @@ public final Completable flatMapCompletable(final Function observer = new BlockingMultiObserver(); + BlockingMultiObserver observer = new BlockingMultiObserver<>(); subscribe(observer); return observer.blockingGet(); } @@ -3042,7 +3047,7 @@ public final T blockingGet() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single lift(final SingleOperator lift) { + public final Single lift(@NonNull SingleOperator lift) { Objects.requireNonNull(lift, "lift is null"); return RxJavaPlugins.onAssembly(new SingleLift(this, lift)); } @@ -3066,7 +3071,7 @@ public final Single lift(final SingleOperator lif @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single map(Function mapper) { + public final <@NonNull R> Single map(@NonNull Function mapper) { Objects.requireNonNull(mapper, "mapper is null"); return RxJavaPlugins.onAssembly(new SingleMap(this, mapper)); } @@ -3087,8 +3092,9 @@ public final Single map(Function mapper) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single> materialize() { - return RxJavaPlugins.onAssembly(new SingleMaterialize(this)); + return RxJavaPlugins.onAssembly(new SingleMaterialize<>(this)); } /** @@ -3108,7 +3114,8 @@ public final Single> materialize() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single contains(Object value) { + @NonNull + public final Single contains(@NonNull Object value) { return contains(value, ObjectHelper.equalsPredicate()); } @@ -3130,10 +3137,10 @@ public final Single contains(Object value) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single contains(final Object value, final BiPredicate comparer) { + public final Single contains(@NonNull Object value, @NonNull BiPredicate comparer) { Objects.requireNonNull(value, "value is null"); Objects.requireNonNull(comparer, "comparer is null"); - return RxJavaPlugins.onAssembly(new SingleContains(this, value, comparer)); + return RxJavaPlugins.onAssembly(new SingleContains<>(this, value, comparer)); } /** @@ -3158,7 +3165,8 @@ public final Single contains(final Object value, final BiPredicate mergeWith(SingleSource other) { + @NonNull + public final Flowable mergeWith(@NonNull SingleSource other) { return merge(this, other); } @@ -3184,9 +3192,9 @@ public final Flowable mergeWith(SingleSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single observeOn(final Scheduler scheduler) { + public final Single observeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new SingleObserveOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new SingleObserveOn<>(this, scheduler)); } /** @@ -3218,9 +3226,9 @@ public final Single observeOn(final Scheduler scheduler) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single onErrorReturn(final Function resumeFunction) { + public final Single onErrorReturn(@NonNull Function resumeFunction) { Objects.requireNonNull(resumeFunction, "resumeFunction is null"); - return RxJavaPlugins.onAssembly(new SingleOnErrorReturn(this, resumeFunction, null)); + return RxJavaPlugins.onAssembly(new SingleOnErrorReturn<>(this, resumeFunction, null)); } /** @@ -3238,9 +3246,9 @@ public final Single onErrorReturn(final Function resu @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single onErrorReturnItem(final T value) { + public final Single onErrorReturnItem(@NonNull T value) { Objects.requireNonNull(value, "value is null"); - return RxJavaPlugins.onAssembly(new SingleOnErrorReturn(this, null, value)); + return RxJavaPlugins.onAssembly(new SingleOnErrorReturn<>(this, null, value)); } /** @@ -3273,7 +3281,7 @@ public final Single onErrorReturnItem(final T value) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single onErrorResumeWith(final SingleSource resumeSingleInCaseOfError) { + public final Single onErrorResumeWith(@NonNull SingleSource resumeSingleInCaseOfError) { Objects.requireNonNull(resumeSingleInCaseOfError, "resumeSingleInCaseOfError is null"); return onErrorResumeNext(Functions.justFunction(resumeSingleInCaseOfError)); } @@ -3310,9 +3318,9 @@ public final Single onErrorResumeWith(final SingleSource resumeS @NonNull @SchedulerSupport(SchedulerSupport.NONE) public final Single onErrorResumeNext( - final Function> resumeFunctionInCaseOfError) { + @NonNull Function> resumeFunctionInCaseOfError) { Objects.requireNonNull(resumeFunctionInCaseOfError, "resumeFunctionInCaseOfError is null"); - return RxJavaPlugins.onAssembly(new SingleResumeNext(this, resumeFunctionInCaseOfError)); + return RxJavaPlugins.onAssembly(new SingleResumeNext<>(this, resumeFunctionInCaseOfError)); } /** @@ -3331,8 +3339,9 @@ public final Single onErrorResumeNext( */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single onTerminateDetach() { - return RxJavaPlugins.onAssembly(new SingleDetach(this)); + return RxJavaPlugins.onAssembly(new SingleDetach<>(this)); } /** @@ -3351,6 +3360,7 @@ public final Single onTerminateDetach() { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable repeat() { return toFlowable().repeat(); } @@ -3372,6 +3382,7 @@ public final Flowable repeat() { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Flowable repeat(long times) { return toFlowable().repeat(times); } @@ -3399,7 +3410,8 @@ public final Flowable repeat(long times) { @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatWhen(Function, ? extends Publisher> handler) { + @NonNull + public final Flowable repeatWhen(@NonNull Function, ? extends Publisher> handler) { return toFlowable().repeatWhen(handler); } @@ -3421,7 +3433,8 @@ public final Flowable repeatWhen(Function, ? extends @BackpressureSupport(BackpressureKind.FULL) @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Flowable repeatUntil(BooleanSupplier stop) { + @NonNull + public final Flowable repeatUntil(@NonNull BooleanSupplier stop) { return toFlowable().repeatUntil(stop); } @@ -3438,6 +3451,7 @@ public final Flowable repeatUntil(BooleanSupplier stop) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single retry() { return toSingle(toFlowable().retry()); } @@ -3457,6 +3471,7 @@ public final Single retry() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Single retry(long times) { return toSingle(toFlowable().retry(times)); } @@ -3477,7 +3492,8 @@ public final Single retry(long times) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single retry(BiPredicate predicate) { + @NonNull + public final Single retry(@NonNull BiPredicate predicate) { return toSingle(toFlowable().retry(predicate)); } @@ -3499,7 +3515,8 @@ public final Single retry(BiPredicate pre */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single retry(long times, Predicate predicate) { + @NonNull + public final Single retry(long times, @NonNull Predicate predicate) { return toSingle(toFlowable().retry(times, predicate)); } @@ -3519,7 +3536,8 @@ public final Single retry(long times, Predicate predicate) */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single retry(Predicate predicate) { + @NonNull + public final Single retry(@NonNull Predicate predicate) { return toSingle(toFlowable().retry(predicate)); } @@ -3568,7 +3586,8 @@ public final Single retry(Predicate predicate) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single retryWhen(Function, ? extends Publisher> handler) { + @NonNull + public final Single retryWhen(@NonNull Function, ? extends Publisher> handler) { return toSingle(toFlowable().retryWhen(handler)); } @@ -3589,6 +3608,7 @@ public final Single retryWhen(Function, ? extends * @see ReactiveX operators documentation: Subscribe */ @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Disposable subscribe() { return subscribe(Functions.emptyConsumer(), Functions.ON_ERROR_MISSING); } @@ -3614,10 +3634,10 @@ public final Disposable subscribe() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(final BiConsumer onCallback) { + public final Disposable subscribe(@NonNull BiConsumer onCallback) { Objects.requireNonNull(onCallback, "onCallback is null"); - BiConsumerSingleObserver observer = new BiConsumerSingleObserver(onCallback); + BiConsumerSingleObserver observer = new BiConsumerSingleObserver<>(onCallback); subscribe(observer); return observer; } @@ -3644,7 +3664,8 @@ public final Disposable subscribe(final BiConsumer */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(Consumer onSuccess) { + @NonNull + public final Disposable subscribe(@NonNull Consumer onSuccess) { return subscribe(onSuccess, Functions.ON_ERROR_MISSING); } @@ -3672,18 +3693,18 @@ public final Disposable subscribe(Consumer onSuccess) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Disposable subscribe(final Consumer onSuccess, final Consumer onError) { + public final Disposable subscribe(@NonNull Consumer onSuccess, @NonNull Consumer onError) { Objects.requireNonNull(onSuccess, "onSuccess is null"); Objects.requireNonNull(onError, "onError is null"); - ConsumerSingleObserver observer = new ConsumerSingleObserver(onSuccess, onError); + ConsumerSingleObserver observer = new ConsumerSingleObserver<>(onSuccess, onError); subscribe(observer); return observer; } @SchedulerSupport(SchedulerSupport.NONE) @Override - public final void subscribe(SingleObserver observer) { + public final void subscribe(@NonNull SingleObserver observer) { Objects.requireNonNull(observer, "observer is null"); observer = RxJavaPlugins.onSubscribe(this, observer); @@ -3739,7 +3760,8 @@ public final void subscribe(SingleObserver observer) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final > E subscribeWith(E observer) { + @NonNull + public final <@NonNull E extends SingleObserver> E subscribeWith(E observer) { subscribe(observer); return observer; } @@ -3763,9 +3785,9 @@ public final > E subscribeWith(E observer) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single subscribeOn(final Scheduler scheduler) { + public final Single subscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new SingleSubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new SingleSubscribeOn<>(this, scheduler)); } /** @@ -3788,7 +3810,7 @@ public final Single subscribeOn(final Scheduler scheduler) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single takeUntil(final CompletableSource other) { + public final Single takeUntil(@NonNull CompletableSource other) { Objects.requireNonNull(other, "other is null"); return takeUntil(new CompletableToFlowable(other)); } @@ -3820,9 +3842,9 @@ public final Single takeUntil(final CompletableSource other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single takeUntil(final Publisher other) { + public final Single takeUntil(@NonNull Publisher other) { Objects.requireNonNull(other, "other is null"); - return RxJavaPlugins.onAssembly(new SingleTakeUntil(this, other)); + return RxJavaPlugins.onAssembly(new SingleTakeUntil<>(this, other)); } /** @@ -3846,7 +3868,7 @@ public final Single takeUntil(final Publisher other) { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.NONE) - public final Single takeUntil(final SingleSource other) { + public final Single takeUntil(@NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); return takeUntil(new SingleToFlowable(other)); } @@ -3867,7 +3889,8 @@ public final Single takeUntil(final SingleSource other) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Single timeout(long timeout, TimeUnit unit) { + @NonNull + public final Single timeout(long timeout, @NonNull TimeUnit unit) { return timeout0(timeout, unit, Schedulers.computation(), null); } @@ -3889,7 +3912,8 @@ public final Single timeout(long timeout, TimeUnit unit) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single timeout(long timeout, TimeUnit unit, Scheduler scheduler) { + @NonNull + public final Single timeout(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler) { return timeout0(timeout, unit, scheduler, null); } @@ -3912,7 +3936,7 @@ public final Single timeout(long timeout, TimeUnit unit, Scheduler scheduler) @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single timeout(long timeout, TimeUnit unit, Scheduler scheduler, SingleSource other) { + public final Single timeout(long timeout, @NonNull TimeUnit unit, @NonNull Scheduler scheduler, @NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); return timeout0(timeout, unit, scheduler, other); } @@ -3940,7 +3964,7 @@ public final Single timeout(long timeout, TimeUnit unit, Scheduler scheduler, @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.COMPUTATION) - public final Single timeout(long timeout, TimeUnit unit, SingleSource other) { + public final Single timeout(long timeout, @NonNull TimeUnit unit, @NonNull SingleSource other) { Objects.requireNonNull(other, "other is null"); return timeout0(timeout, unit, Schedulers.computation(), other); } @@ -3948,7 +3972,7 @@ public final Single timeout(long timeout, TimeUnit unit, SingleSource timeout0(final long timeout, final TimeUnit unit, final Scheduler scheduler, final SingleSource other) { Objects.requireNonNull(unit, "unit is null"); Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new SingleTimeout(this, timeout, unit, scheduler, other)); + return RxJavaPlugins.onAssembly(new SingleTimeout<>(this, timeout, unit, scheduler, other)); } /** @@ -3990,8 +4014,9 @@ public final R to(@NonNull SingleConverter converter) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Completable ignoreElement() { - return RxJavaPlugins.onAssembly(new CompletableFromSingle(this)); + return RxJavaPlugins.onAssembly(new CompletableFromSingle<>(this)); } /** @@ -4011,11 +4036,12 @@ public final Completable ignoreElement() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public final Flowable toFlowable() { if (this instanceof FuseToFlowable) { return ((FuseToFlowable)this).fuseToFlowable(); } - return RxJavaPlugins.onAssembly(new SingleToFlowable(this)); + return RxJavaPlugins.onAssembly(new SingleToFlowable<>(this)); } /** @@ -4032,6 +4058,7 @@ public final Flowable toFlowable() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final Future toFuture() { return subscribeWith(new FutureSingleObserver()); } @@ -4050,11 +4077,12 @@ public final Future toFuture() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public final Maybe toMaybe() { if (this instanceof FuseToMaybe) { return ((FuseToMaybe)this).fuseToMaybe(); } - return RxJavaPlugins.onAssembly(new MaybeFromSingle(this)); + return RxJavaPlugins.onAssembly(new MaybeFromSingle<>(this)); } /** * Converts this Single into an {@link Observable}. @@ -4070,11 +4098,12 @@ public final Maybe toMaybe() { @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) @SuppressWarnings("unchecked") + @NonNull public final Observable toObservable() { if (this instanceof FuseToObservable) { return ((FuseToObservable)this).fuseToObservable(); } - return RxJavaPlugins.onAssembly(new SingleToObservable(this)); + return RxJavaPlugins.onAssembly(new SingleToObservable<>(this)); } /** @@ -4095,9 +4124,9 @@ public final Observable toObservable() { @CheckReturnValue @NonNull @SchedulerSupport(SchedulerSupport.CUSTOM) - public final Single unsubscribeOn(final Scheduler scheduler) { + public final Single unsubscribeOn(@NonNull Scheduler scheduler) { Objects.requireNonNull(scheduler, "scheduler is null"); - return RxJavaPlugins.onAssembly(new SingleUnsubscribeOn(this, scheduler)); + return RxJavaPlugins.onAssembly(new SingleUnsubscribeOn<>(this, scheduler)); } /** @@ -4125,7 +4154,8 @@ public final Single unsubscribeOn(final Scheduler scheduler) { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) - public final Single zipWith(SingleSource other, BiFunction zipper) { + @NonNull + public final Single zipWith(@NonNull SingleSource other, @NonNull BiFunction zipper) { return zip(this, other, zipper); } @@ -4146,8 +4176,9 @@ public final Single zipWith(SingleSource other, BiFunction test() { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); subscribe(to); return to; } @@ -4167,8 +4198,9 @@ public final TestObserver test() { */ @CheckReturnValue @SchedulerSupport(SchedulerSupport.NONE) + @NonNull public final TestObserver test(boolean dispose) { - TestObserver to = new TestObserver(); + TestObserver to = new TestObserver<>(); if (dispose) { to.dispose(); @@ -4178,8 +4210,9 @@ public final TestObserver test(boolean dispose) { return to; } - private static Single toSingle(Flowable source) { - return RxJavaPlugins.onAssembly(new FlowableSingleSingle(source, null)); + @NonNull + private static Single toSingle(@NonNull Flowable source) { + return RxJavaPlugins.onAssembly(new FlowableSingleSingle<>(source, null)); } // ------------------------------------------------------------------------- diff --git a/src/test/java/io/reactivex/rxjava3/flowable/FlowableNullTests.java b/src/test/java/io/reactivex/rxjava3/flowable/FlowableNullTests.java index 668a7acf92..fd9712b64d 100644 --- a/src/test/java/io/reactivex/rxjava3/flowable/FlowableNullTests.java +++ b/src/test/java/io/reactivex/rxjava3/flowable/FlowableNullTests.java @@ -483,7 +483,6 @@ public void mergeArrayNull() { Flowable.mergeArray(128, 128, (Publisher[])null); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void mergeArrayOneIsNull() { Flowable.mergeArray(128, 128, just1, null).blockingLast(); @@ -514,7 +513,6 @@ public void mergeDelayErrorArrayNull() { Flowable.mergeArrayDelayError(128, 128, (Publisher[])null); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void mergeDelayErrorArrayOneIsNull() { Flowable.mergeArrayDelayError(128, 128, just1, null).blockingLast(); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableConcatMapEagerTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableConcatMapEagerTest.java index 9289288ccc..e7625da6f9 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableConcatMapEagerTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableConcatMapEagerTest.java @@ -1210,7 +1210,6 @@ public void arrayDelayErrorMaxConcurrency() { PublishProcessor pp2 = PublishProcessor.create(); PublishProcessor pp3 = PublishProcessor.create(); - @SuppressWarnings("unchecked") TestSubscriber ts = Flowable.concatArrayEagerDelayError(2, 2, pp1, pp2, pp3) .test(); @@ -1246,7 +1245,6 @@ public void arrayDelayErrorMaxConcurrencyErrorDelayed() { PublishProcessor pp2 = PublishProcessor.create(); PublishProcessor pp3 = PublishProcessor.create(); - @SuppressWarnings("unchecked") TestSubscriber ts = Flowable.concatArrayEagerDelayError(2, 2, pp1, pp2, pp3) .test(); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeDelayErrorTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeDelayErrorTest.java index 118f249091..64a2206e84 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeDelayErrorTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeDelayErrorTest.java @@ -622,7 +622,6 @@ public void array() { } } - @SuppressWarnings("unchecked") @Test public void mergeArrayDelayError() { Flowable.mergeArrayDelayError(Flowable.just(1), Flowable.just(2)) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeTest.java index 19d0ac86a0..3a1d65fc33 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowableMergeTest.java @@ -1518,7 +1518,6 @@ public void array() { } } - @SuppressWarnings("unchecked") @Test public void mergeArray2() { Flowable.mergeArray(Flowable.just(1), Flowable.just(2)) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowablePublishFunctionTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowablePublishFunctionTest.java index a660eb7429..69ed3a4aed 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowablePublishFunctionTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/flowable/FlowablePublishFunctionTest.java @@ -464,7 +464,6 @@ public void run() { public void longFlow() { Flowable.range(1, 1000000) .publish(new Function, Publisher>() { - @SuppressWarnings("unchecked") @Override public Publisher apply(Flowable v) throws Exception { return Flowable.mergeArray( @@ -491,7 +490,6 @@ public boolean test(Integer w) throws Exception { public void longFlow2() { Flowable.range(1, 100000) .publish(new Function, Publisher>() { - @SuppressWarnings("unchecked") @Override public Publisher apply(Flowable v) throws Exception { return Flowable.mergeArray( @@ -519,7 +517,6 @@ public boolean test(Integer w) throws Exception { public void longFlowHidden() { Flowable.range(1, 1000000).hide() .publish(new Function, Publisher>() { - @SuppressWarnings("unchecked") @Override public Publisher apply(Flowable v) throws Exception { return Flowable.mergeArray( diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeAmbTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeAmbTest.java index dec723d651..fb3a6aff5b 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeAmbTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeAmbTest.java @@ -116,7 +116,6 @@ public void run() { @Test public void disposeNoFurtherSignals() { - @SuppressWarnings("unchecked") TestObserver to = Maybe.ambArray(new Maybe() { @Override protected void subscribeActual( @@ -134,7 +133,6 @@ protected void subscribeActual( to.assertResult(1); } - @SuppressWarnings("unchecked") @Test public void noWinnerSuccessDispose() throws Exception { for (int i = 0; i < TestHelper.RACE_LONG_LOOPS; i++) { @@ -160,7 +158,6 @@ public void accept(Object v) throws Exception { } } - @SuppressWarnings("unchecked") @Test public void noWinnerErrorDispose() throws Exception { final TestException ex = new TestException(); @@ -187,7 +184,6 @@ public void accept(Throwable e) throws Exception { } } - @SuppressWarnings("unchecked") @Test public void noWinnerCompleteDispose() throws Exception { for (int i = 0; i < TestHelper.RACE_LONG_LOOPS; i++) { @@ -223,7 +219,6 @@ public void nullSourceSuccessRace() { final Subject ps = ReplaySubject.create(); ps.onNext(1); - @SuppressWarnings("unchecked") final Maybe source = Maybe.ambArray(ps.singleElement(), Maybe.never(), Maybe.never(), null); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeConcatArrayTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeConcatArrayTest.java index 3fa9235fbd..301a8a35f5 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeConcatArrayTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeConcatArrayTest.java @@ -29,7 +29,6 @@ public class MaybeConcatArrayTest extends RxJavaTest { - @SuppressWarnings("unchecked") @Test public void cancel() { Maybe.concatArray(Maybe.just(1), Maybe.just(2)) @@ -38,7 +37,6 @@ public void cancel() { .assertResult(1); } - @SuppressWarnings("unchecked") @Test public void cancelDelayError() { Maybe.concatArrayDelayError(Maybe.just(1), Maybe.just(2)) @@ -47,7 +45,6 @@ public void cancelDelayError() { .assertResult(1); } - @SuppressWarnings("unchecked") @Test public void backpressure() { TestSubscriber ts = Maybe.concatArray(Maybe.just(1), Maybe.just(2)) @@ -64,7 +61,6 @@ public void backpressure() { ts.assertResult(1, 2); } - @SuppressWarnings("unchecked") @Test public void backpressureDelayError() { TestSubscriber ts = Maybe.concatArrayDelayError(Maybe.just(1), Maybe.just(2)) @@ -81,7 +77,6 @@ public void backpressureDelayError() { ts.assertResult(1, 2); } - @SuppressWarnings("unchecked") @Test public void requestCancelRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -106,7 +101,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void requestCancelRaceDelayError() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -131,7 +125,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void errorAfterTermination() { List errors = TestHelper.trackPluginErrors(); @@ -158,7 +151,6 @@ protected void subscribeActual(MaybeObserver observer) { } } - @SuppressWarnings("unchecked") @Test public void noSubsequentSubscription() { final int[] calls = { 0 }; @@ -178,7 +170,6 @@ public void subscribe(MaybeEmitter s) throws Exception { assertEquals(1, calls[0]); } - @SuppressWarnings("unchecked") @Test public void noSubsequentSubscriptionDelayError() { final int[] calls = { 0 }; diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeMergeArrayTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeMergeArrayTest.java index 86261efc4f..6b886fd894 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeMergeArrayTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeMergeArrayTest.java @@ -32,7 +32,6 @@ public class MaybeMergeArrayTest extends RxJavaTest { - @SuppressWarnings("unchecked") @Test public void normal() { TestSubscriberEx ts = new TestSubscriberEx().setInitialFusionMode(QueueFuseable.SYNC); @@ -45,7 +44,6 @@ public void normal() { .assertResult(1, 2); } - @SuppressWarnings("unchecked") @Test public void fusedPollMixed() { TestSubscriberEx ts = new TestSubscriberEx().setInitialFusionMode(QueueFuseable.ANY); @@ -92,7 +90,6 @@ public void onComplete() { }); } - @SuppressWarnings("unchecked") @Test public void cancel() { TestSubscriber ts = new TestSubscriber<>(0L); @@ -106,7 +103,6 @@ public void cancel() { ts.assertEmpty(); } - @SuppressWarnings("unchecked") @Test public void firstErrors() { TestSubscriber ts = new TestSubscriber<>(0L); @@ -117,7 +113,6 @@ public void firstErrors() { ts.assertFailure(TestException.class); } - @SuppressWarnings("unchecked") @Test public void errorFused() { TestSubscriberEx ts = new TestSubscriberEx().setInitialFusionMode(QueueFuseable.ANY); @@ -130,7 +125,6 @@ public void errorFused() { .assertFailure(TestException.class); } - @SuppressWarnings("unchecked") @Test public void errorRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -172,7 +166,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void mergeBadSource() { Maybe.mergeArray(new Maybe() { diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipArrayTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipArrayTest.java index aea7a478ce..c685e79cae 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipArrayTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipArrayTest.java @@ -151,7 +151,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void zipArrayOneIsNull() { Maybe.zipArray(new Function() { @@ -163,7 +162,6 @@ public Object apply(Object[] v) { .blockingGet(); } - @SuppressWarnings("unchecked") @Test public void singleSourceZipperReturnsNull() { Maybe.zipArray(Functions.justFunction(null), Maybe.just(1)) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipIterableTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipIterableTest.java index aae11b288e..4f6e07f00a 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipIterableTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/maybe/MaybeZipIterableTest.java @@ -205,7 +205,6 @@ public Object apply(Object[] v) { .blockingGet(); } - @SuppressWarnings("unchecked") @Test public void singleSourceZipperReturnsNull() { Maybe.zipArray(Functions.justFunction(null), Maybe.just(1)) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapMaybeTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapMaybeTest.java index 4764b3e50e..323cbc3270 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapMaybeTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapMaybeTest.java @@ -399,7 +399,6 @@ public void cancelNoConcurrentClean() { public void checkUnboundedInnerQueue() { MaybeSubject ms = MaybeSubject.create(); - @SuppressWarnings("unchecked") TestObserver to = Observable .fromArray(ms, Maybe.just(2), Maybe.just(3), Maybe.just(4)) .concatMapMaybe(Functions.>identity(), 2) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapSingleTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapSingleTest.java index 41659020e5..90f15ac250 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapSingleTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/mixed/ObservableConcatMapSingleTest.java @@ -339,7 +339,6 @@ public void cancelNoConcurrentClean() { public void checkUnboundedInnerQueue() { SingleSubject ss = SingleSubject.create(); - @SuppressWarnings("unchecked") TestObserver to = Observable .fromArray(ss, Single.just(2), Single.just(3), Single.just(4)) .concatMapSingle(Functions.>identity(), 2) diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableAmbTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableAmbTest.java index 4e8cbd34b6..4948f1a13d 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableAmbTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableAmbTest.java @@ -92,7 +92,6 @@ public void amb() { Observable observable3 = createObservable(new String[] { "3", "33", "333", "3333" }, 3000, null); - @SuppressWarnings("unchecked") Observable o = Observable.ambArray(observable1, observable2, observable3); @@ -121,7 +120,6 @@ public void amb2() { Observable observable3 = createObservable(new String[] {}, 3000, new IOException("fake exception")); - @SuppressWarnings("unchecked") Observable o = Observable.ambArray(observable1, observable2, observable3); @@ -148,7 +146,6 @@ public void amb3() { Observable observable3 = createObservable(new String[] { "3" }, 3000, null); - @SuppressWarnings("unchecked") Observable o = Observable.ambArray(observable1, observable2, observable3); @@ -161,7 +158,6 @@ public void amb3() { inOrder.verifyNoMoreInteractions(); } - @SuppressWarnings("unchecked") @Test public void subscriptionOnlyHappensOnce() throws InterruptedException { final AtomicLong count = new AtomicLong(); @@ -205,7 +201,6 @@ public void accept(Integer t) { assertEquals(1, result); } - @SuppressWarnings("unchecked") @Test public void ambCancelsOthers() { PublishSubject source1 = PublishSubject.create(); @@ -228,13 +223,11 @@ public void ambCancelsOthers() { } - @SuppressWarnings("unchecked") @Test public void ambArrayEmpty() { assertSame(Observable.empty(), Observable.ambArray()); } - @SuppressWarnings("unchecked") @Test public void ambArraySingleElement() { assertSame(Observable.never(), Observable.ambArray(Observable.never())); @@ -265,7 +258,6 @@ public void singleIterable() { .assertResult(1); } - @SuppressWarnings("unchecked") @Test public void disposed() { TestHelper.checkDisposed(Observable.ambArray(Observable.never(), Observable.never())); @@ -277,7 +269,6 @@ public void onNextRace() { final PublishSubject ps1 = PublishSubject.create(); final PublishSubject ps2 = PublishSubject.create(); - @SuppressWarnings("unchecked") TestObserverEx to = Observable.ambArray(ps1, ps2).to(TestHelper.testConsumer()); Runnable r1 = new Runnable() { @@ -308,7 +299,6 @@ public void onCompleteRace() { final PublishSubject ps1 = PublishSubject.create(); final PublishSubject ps2 = PublishSubject.create(); - @SuppressWarnings("unchecked") TestObserver to = Observable.ambArray(ps1, ps2).test(); Runnable r1 = new Runnable() { @@ -336,7 +326,6 @@ public void onErrorRace() { final PublishSubject ps1 = PublishSubject.create(); final PublishSubject ps2 = PublishSubject.create(); - @SuppressWarnings("unchecked") TestObserver to = Observable.ambArray(ps1, ps2).test(); final Throwable ex = new TestException(); @@ -380,14 +369,12 @@ public void ambIterableOrder() { Observable.amb(Arrays.asList(Observable.just(1), error)).test().assertValue(1).assertComplete(); } - @SuppressWarnings("unchecked") @Test public void ambArrayOrder() { Observable error = Observable.error(new RuntimeException()); Observable.ambArray(Observable.just(1), error).test().assertValue(1).assertComplete(); } - @SuppressWarnings("unchecked") @Test public void noWinnerSuccessDispose() throws Exception { for (int i = 0; i < TestHelper.RACE_LONG_LOOPS; i++) { @@ -413,7 +400,6 @@ public void accept(Object v) throws Exception { } } - @SuppressWarnings("unchecked") @Test public void noWinnerErrorDispose() throws Exception { final TestException ex = new TestException(); @@ -440,7 +426,6 @@ public void accept(Throwable e) throws Exception { } } - @SuppressWarnings("unchecked") @Test public void noWinnerCompleteDispose() throws Exception { for (int i = 0; i < TestHelper.RACE_LONG_LOOPS; i++) { diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapEagerTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapEagerTest.java index 6ad8b9c649..6a88930b75 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapEagerTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapEagerTest.java @@ -218,7 +218,6 @@ public void simple2() { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness2() { final AtomicInteger count = new AtomicInteger(); @@ -238,7 +237,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness3() { final AtomicInteger count = new AtomicInteger(); @@ -258,7 +256,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness4() { final AtomicInteger count = new AtomicInteger(); @@ -278,7 +275,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness5() { final AtomicInteger count = new AtomicInteger(); @@ -298,7 +294,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness6() { final AtomicInteger count = new AtomicInteger(); @@ -318,7 +313,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness7() { final AtomicInteger count = new AtomicInteger(); @@ -338,7 +332,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness8() { final AtomicInteger count = new AtomicInteger(); @@ -358,7 +351,6 @@ public void accept(Integer t) { to.assertComplete(); } - @SuppressWarnings("unchecked") @Test public void eagerness9() { final AtomicInteger count = new AtomicInteger(); @@ -387,7 +379,6 @@ public void mainError() { to.assertNotComplete(); } - @SuppressWarnings("unchecked") @Test public void innerError() { // TODO verify: concatMapEager subscribes first then consumes the sources is okay @@ -404,7 +395,6 @@ public void innerError() { to.assertNotComplete(); } - @SuppressWarnings("unchecked") @Test public void innerEmpty() { Observable.concatArrayEager(Observable.empty(), Observable.empty()).subscribe(to); @@ -870,7 +860,6 @@ public void arrayDelayErrorDefault() { PublishSubject ps2 = PublishSubject.create(); PublishSubject ps3 = PublishSubject.create(); - @SuppressWarnings("unchecked") TestObserver to = Observable.concatArrayEagerDelayError(ps1, ps2, ps3) .test(); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapTest.java index 769f42f984..a5d2a6aa4c 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableConcatMapTest.java @@ -372,7 +372,6 @@ protected void subscribeActual(Observer observer) { } } - @SuppressWarnings("unchecked") @Test public void concatReportsDisposedOnComplete() { final Disposable[] disposable = { null }; @@ -404,7 +403,6 @@ public void onComplete() { } @Test - @SuppressWarnings("unchecked") public void concatReportsDisposedOnError() { final Disposable[] disposable = { null }; diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableZipTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableZipTest.java index 1de6190f05..d481c16662 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableZipTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/observable/ObservableZipTest.java @@ -1299,7 +1299,6 @@ public Object apply(Integer a, Integer b) throws Exception { .assertFailure(TestException.class, "929"); } - @SuppressWarnings("unchecked") @Test public void zipArrayEmpty() { assertSame(Observable.empty(), Observable.zipArray(Functions.identity(), false, 16)); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleAmbTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleAmbTest.java index 7faf26454e..acfa6528a6 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleAmbTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleAmbTest.java @@ -112,7 +112,6 @@ public void ambIterableWithSecondFires() { to.assertResult(2); } - @SuppressWarnings("unchecked") @Test public void ambArrayEmpty() { Single.ambArray() @@ -120,13 +119,11 @@ public void ambArrayEmpty() { .assertFailure(NoSuchElementException.class); } - @SuppressWarnings("unchecked") @Test public void ambSingleSource() { assertSame(Single.never(), Single.ambArray(Single.never())); } - @SuppressWarnings("unchecked") @Test public void error() { Single.ambArray(Single.error(new TestException()), Single.just(1)) @@ -144,7 +141,6 @@ public void nullSourceSuccessRace() { final Subject ps = ReplaySubject.create(); ps.onNext(1); - @SuppressWarnings("unchecked") final Single source = Single.ambArray(ps.singleOrError(), Single.never(), Single.never(), null); Runnable r1 = new Runnable() { @@ -172,7 +168,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void multipleErrorRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -212,7 +207,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void successErrorRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -276,14 +270,12 @@ public void ambIterableOrder() { Single.amb(Arrays.asList(Single.just(1), error)).test().assertValue(1); } - @SuppressWarnings("unchecked") @Test public void ambArrayOrder() { Single error = Single.error(new RuntimeException()); Single.ambArray(Single.just(1), error).test().assertValue(1); } - @SuppressWarnings("unchecked") @Test public void noWinnerSuccessDispose() throws Exception { for (int i = 0; i < TestHelper.RACE_LONG_LOOPS; i++) { @@ -311,7 +303,6 @@ public void accept(Object v, Throwable e) throws Exception { } } - @SuppressWarnings("unchecked") @Test public void noWinnerErrorDispose() throws Exception { final TestException ex = new TestException(); diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleConcatTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleConcatTest.java index 348810be1f..bf8c534f46 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleConcatTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleConcatTest.java @@ -70,7 +70,6 @@ public void concatArray() { } } - @SuppressWarnings("unchecked") @Test public void concatArrayEagerTest() { PublishProcessor pp1 = PublishProcessor.create(); @@ -142,7 +141,6 @@ public void concatObservable() { } } - @SuppressWarnings("unchecked") @Test public void noSubsequentSubscription() { final int[] calls = { 0 }; diff --git a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleZipArrayTest.java b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleZipArrayTest.java index 18f799b3a2..50989db3ec 100644 --- a/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleZipArrayTest.java +++ b/src/test/java/io/reactivex/rxjava3/internal/operators/single/SingleZipArrayTest.java @@ -151,7 +151,6 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void zipArrayOneIsNull() { Single.zipArray(new Function() { @@ -176,7 +175,6 @@ public Object[] apply(Object[] a) throws Exception { .assertFailure(NoSuchElementException.class); } - @SuppressWarnings("unchecked") @Test public void oneArray() { Single.zipArray(new Function() { @@ -189,7 +187,6 @@ public Object apply(Object[] a) throws Exception { .assertResult(2); } - @SuppressWarnings("unchecked") @Test public void singleSourceZipperReturnsNull() { Single.zipArray(Functions.justFunction(null), Single.just(1)) diff --git a/src/test/java/io/reactivex/rxjava3/maybe/MaybeTest.java b/src/test/java/io/reactivex/rxjava3/maybe/MaybeTest.java index c3335c0bab..d222f92392 100644 --- a/src/test/java/io/reactivex/rxjava3/maybe/MaybeTest.java +++ b/src/test/java/io/reactivex/rxjava3/maybe/MaybeTest.java @@ -1382,13 +1382,11 @@ public void concat3Backpressured() { ts.assertResult(1, 2, 3); } - @SuppressWarnings("unchecked") @Test public void concatArrayZero() { assertSame(Flowable.empty(), Maybe.concatArray()); } - @SuppressWarnings("unchecked") @Test public void concatArrayOne() { Maybe.concatArray(Maybe.just(1)).test().assertResult(1); @@ -1594,7 +1592,6 @@ public void maybeToPublisherEnum() { TestHelper.checkEnum(MaybeToPublisher.class); } - @SuppressWarnings("unchecked") @Test public void ambArrayOneIsNull() { Maybe.ambArray(null, Maybe.just(1)) @@ -1602,13 +1599,11 @@ public void ambArrayOneIsNull() { .assertError(NullPointerException.class); } - @SuppressWarnings("unchecked") @Test public void ambArrayEmpty() { assertSame(Maybe.empty(), Maybe.ambArray()); } - @SuppressWarnings("unchecked") @Test public void ambArrayOne() { assertSame(Maybe.never(), Maybe.ambArray(Maybe.never())); @@ -1626,14 +1621,12 @@ public void ambIterableOrder() { Maybe.amb(Arrays.asList(Maybe.just(1), error)).test().assertValue(1); } - @SuppressWarnings("unchecked") @Test public void ambArrayOrder() { Maybe error = Maybe.error(new RuntimeException()); Maybe.ambArray(Maybe.just(1), error).test().assertValue(1); } - @SuppressWarnings("unchecked") @Test public void ambArray1SignalsSuccess() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1656,7 +1649,6 @@ public void ambArray1SignalsSuccess() { to.assertResult(1); } - @SuppressWarnings("unchecked") @Test public void ambArray2SignalsSuccess() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1679,7 +1671,6 @@ public void ambArray2SignalsSuccess() { to.assertResult(2); } - @SuppressWarnings("unchecked") @Test public void ambArray1SignalsError() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1701,7 +1692,6 @@ public void ambArray1SignalsError() { to.assertFailure(TestException.class); } - @SuppressWarnings("unchecked") @Test public void ambArray2SignalsError() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1723,7 +1713,6 @@ public void ambArray2SignalsError() { to.assertFailure(TestException.class); } - @SuppressWarnings("unchecked") @Test public void ambArray1SignalsComplete() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1745,7 +1734,6 @@ public void ambArray1SignalsComplete() { to.assertResult(); } - @SuppressWarnings("unchecked") @Test public void ambArray2SignalsComplete() { PublishProcessor pp1 = PublishProcessor.create(); @@ -1972,7 +1960,6 @@ public void ambIterableOne() { Maybe.amb(Collections.singleton(Maybe.just(1))).test().assertResult(1); } - @SuppressWarnings("unchecked") @Test public void mergeArray() { Maybe.mergeArray(Maybe.just(1), Maybe.just(2), Maybe.just(3)) @@ -2009,7 +1996,6 @@ public void merge4Take2() { .assertResult(1, 2); } - @SuppressWarnings("unchecked") @Test public void mergeArrayBackpressured() { TestSubscriber ts = Maybe.mergeArray(Maybe.just(1), Maybe.just(2), Maybe.just(3)) @@ -2029,7 +2015,6 @@ public void mergeArrayBackpressured() { ts.assertResult(1, 2, 3); } - @SuppressWarnings("unchecked") @Test public void mergeArrayBackpressuredMixed1() { TestSubscriber ts = Maybe.mergeArray(Maybe.just(1), Maybe.empty(), Maybe.just(3)) @@ -2046,7 +2031,6 @@ public void mergeArrayBackpressuredMixed1() { ts.assertResult(1, 3); } - @SuppressWarnings("unchecked") @Test public void mergeArrayBackpressuredMixed2() { TestSubscriber ts = Maybe.mergeArray(Maybe.just(1), Maybe.just(2), Maybe.empty()) @@ -2063,7 +2047,6 @@ public void mergeArrayBackpressuredMixed2() { ts.assertResult(1, 2); } - @SuppressWarnings("unchecked") @Test public void mergeArrayBackpressuredMixed3() { TestSubscriber ts = Maybe.mergeArray(Maybe.empty(), Maybe.just(2), Maybe.just(3)) @@ -2080,7 +2063,6 @@ public void mergeArrayBackpressuredMixed3() { ts.assertResult(2, 3); } - @SuppressWarnings("unchecked") @Test public void mergeArrayFused() { TestSubscriberEx ts = new TestSubscriberEx().setInitialFusionMode(QueueFuseable.ANY); @@ -2093,7 +2075,6 @@ public void mergeArrayFused() { .assertResult(1, 2, 3); } - @SuppressWarnings("unchecked") @Test public void mergeArrayFusedRace() { for (int i = 0; i < TestHelper.RACE_DEFAULT_LOOPS; i++) { @@ -2129,13 +2110,11 @@ public void run() { } } - @SuppressWarnings("unchecked") @Test public void mergeArrayZero() { assertSame(Flowable.empty(), Maybe.mergeArray()); } - @SuppressWarnings("unchecked") @Test public void mergeArrayOne() { Maybe.mergeArray(Maybe.just(1)).test().assertResult(1); @@ -2462,7 +2441,6 @@ public void accept(Integer v, Throwable e) throws Exception { .assertFailure(TestException.class); } - @SuppressWarnings("unchecked") @Test public void concatArrayDelayError() { Maybe.concatArrayDelayError(Maybe.empty(), Maybe.just(1), Maybe.error(new TestException())) @@ -2500,7 +2478,6 @@ public void concatPublisherDelayError() { .assertFailure(TestException.class, 1); } - @SuppressWarnings("unchecked") @Test public void concatEagerArray() { PublishProcessor pp1 = PublishProcessor.create(); @@ -2607,7 +2584,6 @@ public void fromFuture() { ; } - @SuppressWarnings("unchecked") @Test public void mergeArrayDelayError() { Maybe.mergeArrayDelayError(Maybe.empty(), Maybe.just(1), Maybe.error(new TestException())) diff --git a/src/test/java/io/reactivex/rxjava3/observable/ObservableNullTests.java b/src/test/java/io/reactivex/rxjava3/observable/ObservableNullTests.java index 9c112b0f7d..074057a8d3 100644 --- a/src/test/java/io/reactivex/rxjava3/observable/ObservableNullTests.java +++ b/src/test/java/io/reactivex/rxjava3/observable/ObservableNullTests.java @@ -45,7 +45,6 @@ public void ambVarargsNull() { Observable.ambArray((Observable[])null); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void ambVarargsOneIsNull() { Observable.ambArray(Observable.never(), null).blockingLast(); diff --git a/src/test/java/io/reactivex/rxjava3/single/SingleNullTests.java b/src/test/java/io/reactivex/rxjava3/single/SingleNullTests.java index 98ba085b19..6ffdb2ebf8 100644 --- a/src/test/java/io/reactivex/rxjava3/single/SingleNullTests.java +++ b/src/test/java/io/reactivex/rxjava3/single/SingleNullTests.java @@ -61,7 +61,6 @@ public void ambArrayNull() { Single.ambArray((Single[])null); } - @SuppressWarnings("unchecked") @Test public void ambArrayOneIsNull() { Single.ambArray(null, just1) @@ -534,7 +533,6 @@ public Object apply(Object[] v) { .blockingGet(); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void zipArrayOneIsNull() { Single.zipArray(new Function() { @@ -546,13 +544,11 @@ public Object apply(Object[] v) { .blockingGet(); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void zipArrayFunctionNull() { Single.zipArray(null, just1, just1); } - @SuppressWarnings("unchecked") @Test(expected = NullPointerException.class) public void zipArrayFunctionReturnsNull() { Single.zipArray(new Function() { diff --git a/src/test/java/io/reactivex/rxjava3/validators/SourceAnnotationCheck.java b/src/test/java/io/reactivex/rxjava3/validators/SourceAnnotationCheck.java new file mode 100644 index 0000000000..8cde4fac7e --- /dev/null +++ b/src/test/java/io/reactivex/rxjava3/validators/SourceAnnotationCheck.java @@ -0,0 +1,257 @@ +/** + * Copyright (c) 2016-present, RxJava Contributors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in + * compliance with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software distributed under the License is + * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See + * the License for the specific language governing permissions and limitations under the License. + */ + +package io.reactivex.rxjava3.validators; + +import java.io.File; +import java.nio.file.Files; +import java.util.*; + +import org.junit.Test; + +import io.reactivex.rxjava3.core.*; +import io.reactivex.rxjava3.core.Observable; +import io.reactivex.rxjava3.parallel.ParallelFlowable; +import io.reactivex.rxjava3.testsupport.TestHelper; + +/** + * Parse the given files and check if all public final and public static methods have + * @NonNull or @Nullable annotations specified on their return type and object-type parameters + * as well as @SafeVarargs for varargs. + */ +public class SourceAnnotationCheck { + + @Test + public void checkCompletable() throws Exception { + processFile(Completable.class); + } + + @Test + public void checkSingle() throws Exception { + processFile(Single.class); + } + + @Test + public void checkMaybe() throws Exception { + processFile(Maybe.class); + } + + // TODO later + // @Test + public void checkObservable() throws Exception { + processFile(Observable.class); + } + + @Test + public void checkFlowable() throws Exception { + processFile(Flowable.class); + } + + // TODO later + // @Test + public void checkParallelFlowable() throws Exception { + processFile(ParallelFlowable.class); + } + + static void processFile(Class clazz) throws Exception { + String baseClassName = clazz.getSimpleName(); + File f = TestHelper.findSource(baseClassName); + if (f == null) { + return; + } + String fullClassName = clazz.getName(); + + int errorCount = 0; + StringBuilder errors = new StringBuilder(); + + List lines = Files.readAllLines(f.toPath()); + + for (int j = 0; j < lines.size(); j++) { + String line = lines.get(j).trim(); + + if (line.startsWith("public static") || line.startsWith("public final")) { + int methodArgStart = line.indexOf("("); + + int isBoolean = line.indexOf(" boolean "); + int isInt = line.indexOf(" int "); + int isLong = line.indexOf(" long "); + int isVoid = line.indexOf(" void "); + int isElementType = line.indexOf(" R "); + + boolean hasSafeVarargsAnnotation = false; + + if (!((isBoolean > 0 && isBoolean < methodArgStart) + || (isInt > 0 && isInt < methodArgStart) + || (isLong > 0 && isLong < methodArgStart) + || (isVoid > 0 && isVoid < methodArgStart) + || (isElementType > 0 && isElementType < methodArgStart) + )) { + + boolean annotationFound = false; + for (int k = j - 1; k >= 0; k--) { + + String prevLine = lines.get(k).trim(); + + if (prevLine.startsWith("}") || prevLine.startsWith("*/")) { + break; + } + if (prevLine.startsWith("@NonNull") || prevLine.startsWith("@Nullable")) { + annotationFound = true; + } + if (prevLine.startsWith("@SafeVarargs")) { + hasSafeVarargsAnnotation = true; + } + } + + if (!annotationFound) { + errorCount++; + errors.append("L") + .append(j) + .append(" : Missing return type nullability annotation | ") + .append(line) + .append("\r\n") + .append(" at ") + .append(fullClassName) + .append(".method(") + .append(f.getName()) + .append(":") + .append(j + 1) + .append(")\r\n") + ; + } + } + + // Extract arguments + StringBuilder arguments = new StringBuilder(); + int methodArgEnd = line.indexOf(")", methodArgStart); + if (methodArgEnd > 0) { + arguments.append(line.substring(methodArgStart + 1, methodArgEnd)); + } else { + arguments.append(line.substring(methodArgStart + 1)); + for (int k = j + 1; k < lines.size(); k++) { + String ln = lines.get(k).trim(); + int idx = ln.indexOf(")"); + if (idx > 0) { + arguments.append(ln.substring(0, idx)); + break; + } + arguments.append(ln).append(" "); + } + } + + // Strip generics arguments + StringBuilder strippedArguments = new StringBuilder(); + int skippingDepth = 0; + for (int k = 0; k < arguments.length(); k++) { + char c = arguments.charAt(k); + if (c == '<') { + skippingDepth++; + } + else if (c == '>') { + skippingDepth--; + } + else if (skippingDepth == 0) { + strippedArguments.append(c); + } + } + + String strippedArgumentsStr = strippedArguments.toString(); + String[] args = strippedArgumentsStr.split("\\s*,\\s*"); + + for (String typeName : CLASS_NAMES) { + String typeNameSpaced = typeName + " "; + for (int k = 0; k < args.length; k++) { + String typeDef = args[k]; + if (typeDef.contains(typeNameSpaced) + && !typeDef.contains("@NonNull") + && !typeDef.contains("@Nullable")) { + + if (!line.contains("@Nullable " + typeName) + && !line.contains("@NonNull " + typeName)) { + errorCount++; + errors.append("L") + .append(j) + .append(" - argument ").append(k + 1).append(" - ").append(typeDef) + .append(" : Missing argument type nullability annotation |\r\n ") + .append(strippedArgumentsStr) + .append("\r\n") + .append(" at ") + .append(fullClassName) + .append(".method(") + .append(f.getName()) + .append(":") + .append(j + 1) + .append(")\r\n") + ; + } + } + } + } + + if (strippedArgumentsStr.contains("...") && !hasSafeVarargsAnnotation) { + errorCount++; + errors.append("L") + .append(j) + .append(" : Missing @SafeVarargs annotation |\r\n ") + .append(strippedArgumentsStr) + .append("\r\n") + .append(" at ") + .append(fullClassName) + .append(".method(") + .append(f.getName()) + .append(":") + .append(j + 1) + .append(")\r\n") + ; + } + } + } + + if (errorCount != 0) { + errors.insert(0, errorCount + " missing annotations\r\n"); + errors.setLength(errors.length() - 2); + throw new AssertionError(errors.toString()); + } + } + + static final List CLASS_NAMES = Arrays.asList( + "TimeUnit", "Scheduler", "Emitter", + + "Completable", "CompletableSource", "CompletableObserver", "CompletableOnSubscribe", + "CompletableTransformer", "CompletableOperator", "CompletableEmitter", "CompletableConverter", + + "Single", "SingleSource", "SingleObserver", "SingleOnSubscribe", + "SingleTransformer", "SingleOperator", "SingleEmitter", "SingleConverter", + + "Maybe", "MaybeSource", "MaybeObserver", "MaybeOnSubscribe", + "MaybeTransformer", "MaybeOperator", "MaybeEmitter", "MaybeConverter", + + "Observable", "ObservableSource", "Observer", "ObservableOnSubscribe", + "ObservableTransformer", "ObservableOperator", "ObservableEmitter", "ObservableConverter", + + "Flowable", "Publisher", "Subscriber", "FlowableSubscriber", "FlowableOnSubscribe", + "FlowableTransformer", "FlowableOperator", "FlowableEmitter", "FlowableConverter", + + "Function", "BiFunction", "Function3", "Function4", "Function5", "Function6", + "Function7", "Function8", "Function9", + + "Action", "Runnable", "Consumer", "BiConsumer", "Supplier", "Callable", "Void", + "Throwable", "Optional", "CompletionStage", "BooleanSupplier", "LongConsumer", + "Predicate", "BiPredicate", "Object", + + "BackpressureOverflowStrategy", "BackpressureStrategy", + "Subject", "Processor", "FlowableProcessor", + + "T", "R", "U", "V" + ); +}