io.reactivex.rxjava3.annotations.NonNull Java Examples
The following examples show how to use
io.reactivex.rxjava3.annotations.NonNull.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CacheFirstTimeoutStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { Observable<Record<T>> cache = rxCache.<T>load2Observable(key, type) .filter(new Predicate<Record<T>>() { @Override public boolean test(Record<T> record) throws Exception { return System.currentTimeMillis() - record.getCreateTime() <= timestamp; } }); Observable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #2
Source File: CacheAndRemoteStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type, backpressureStrategy); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return Flowable.concatDelayError(Arrays.asList(cache, remote)) .filter(new Predicate<Record<T>>() { @Override public boolean test(@NonNull Record<T> record) throws Exception { return record.getData() != null; } }); }
Example #3
Source File: CacheAndRemoteStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return Flowable.concatDelayError(Arrays.asList(cache, remote)) .filter(new Predicate<Record<T>>() { @Override public boolean test(@NonNull Record<T> record) throws Exception { return record.getData() != null; } }); }
Example #4
Source File: CacheAndRemoteStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { Observable<Record<T>> cache = rxCache.<T>load2Observable(key, type); Observable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return Observable.concatDelayError(Arrays.asList(cache, remote)) .filter(new Predicate<Record<T>>() { @Override public boolean test(@NonNull Record<T> record) throws Exception { return record.getData() != null; } }); }
Example #5
Source File: Transformers.java From mobius with Apache License 2.0 | 6 votes |
/** * Creates an {@link ObservableTransformer} that will flatten the provided {@link Function} into * the stream as an {@link Observable} every time it receives an effect from the upstream effects * observable. This will result in calling the function on the specified scheduler, and passing it * the requested effect object then emitting its returned value. * * @param function the {@link Function} to be invoked every time the effect is requested * @param scheduler the {@link Scheduler} to be used when invoking the function * @param <F> the type of Effect this transformer handles * @param <E> the type of Event this transformer emits * @return an {@link ObservableTransformer} that can be used with a {@link * RxMobius.SubtypeEffectHandlerBuilder}. */ static <F, E> ObservableTransformer<F, E> fromFunction( final Function<F, E> function, @Nullable final Scheduler scheduler) { return new ObservableTransformer<F, E>() { @Override public ObservableSource<E> apply(Observable<F> effectStream) { return effectStream.flatMap( new Function<F, ObservableSource<E>>() { @Override public ObservableSource<E> apply(@NonNull F f) { Observable<E> eventObservable = Observable.fromSupplier( new Supplier<E>() { @Override public E get() throws Throwable { return function.apply(f); } }); return scheduler == null ? eventObservable : eventObservable.subscribeOn(scheduler); } }); } }; }
Example #6
Source File: CacheAndRemoteStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Maybe<Record<T>> execute(RxCache rxCache, String key, Maybe<T> source, Type type) { Maybe<Record<T>> cache = rxCache.<T>load2Maybe(key, type); Maybe<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return Maybe.concatDelayError(Arrays.asList(cache,remote)) .filter(new Predicate<Record<T>>() { @Override public boolean test(@NonNull Record<T> record) throws Exception { return record.getData() != null; } }) .firstElement(); }
Example #7
Source File: RemoteFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote.switchIfEmpty(cache); }
Example #8
Source File: RemoteFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type, backpressureStrategy); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote.switchIfEmpty(cache); }
Example #9
Source File: RemoteFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Maybe<Record<T>> execute(RxCache rxCache, String key, Maybe<T> source, Type type) { Maybe<Record<T>> cache = rxCache.<T>load2Maybe(key, type); Maybe<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote.switchIfEmpty(cache); }
Example #10
Source File: RemoteFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { Observable<Record<T>> cache = rxCache.<T>load2Observable(key, type); Observable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote.switchIfEmpty(cache); }
Example #11
Source File: CacheFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #12
Source File: CacheFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Maybe<Record<T>> execute(RxCache rxCache, String key, Maybe<T> source, Type type) { Maybe<Record<T>> cache = rxCache.<T>load2Maybe(key, type); Maybe<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #13
Source File: CacheFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { Observable<Record<T>> cache = rxCache.<T>load2Observable(key, type); Observable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #14
Source File: RemoteOnlyStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote; }
Example #15
Source File: RemoteOnlyStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote; }
Example #16
Source File: RemoteOnlyStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Maybe<Record<T>> execute(RxCache rxCache, String key, Maybe<T> source, Type type) { Maybe<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote; }
Example #17
Source File: RemoteOnlyStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { Observable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return remote; }
Example #18
Source File: CacheFirstTimeoutStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type) .filter(new Predicate<Record<T>>() { @Override public boolean test(Record<T> record) throws Exception { return System.currentTimeMillis() - record.getCreateTime() <= timestamp; } }); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #19
Source File: CacheFirstTimeoutStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type, backpressureStrategy) .filter(new Predicate<Record<T>>() { @Override public boolean test(Record<T> record) throws Exception { return System.currentTimeMillis() - record.getCreateTime() <= timestamp; } }); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #20
Source File: CacheFirstStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { Flowable<Record<T>> cache = rxCache.<T>load2Flowable(key, type, backpressureStrategy); Flowable<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #21
Source File: CacheFirstTimeoutStrategy.java From RxCache with Apache License 2.0 | 6 votes |
@Override public <T> Maybe<Record<T>> execute(RxCache rxCache, String key, Maybe<T> source, Type type) { Maybe<Record<T>> cache = rxCache.<T>load2Maybe(key, type) .filter(new Predicate<Record<T>>() { @Override public boolean test(Record<T> record) throws Exception { return System.currentTimeMillis() - record.getCreateTime() <= timestamp; } }); Maybe<Record<T>> remote = source .map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { rxCache.save(key, t); return new Record<>(Source.CLOUD, key, t); } }); return cache.switchIfEmpty(remote); }
Example #22
Source File: RxEventSources.java From mobius with Apache License 2.0 | 6 votes |
/** * Create an observable from the given event source. * * @param eventSource the eventSource you want to convert to an observable * @param <E> the event type * @return an Observable based on the provided event source */ @NonNull public static <E> Observable<E> toObservable(final EventSource<E> eventSource) { return Observable.create( new ObservableOnSubscribe<E>() { @Override public void subscribe(@NonNull ObservableEmitter<E> emitter) throws Throwable { final com.spotify.mobius.disposables.Disposable disposable = eventSource.subscribe( new com.spotify.mobius.functions.Consumer<E>() { @Override public void accept(E value) { emitter.onNext(value); } }); emitter.setCancellable( new Cancellable() { @Override public void cancel() throws Throwable { disposable.dispose(); } }); } }); }
Example #23
Source File: NoCacheStrategy.java From RxCache with Apache License 2.0 | 5 votes |
@Override public <T> Observable<Record<T>> execute(RxCache rxCache, String key, Observable<T> source, Type type) { return source.map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { return new Record<>(Source.CLOUD, key, t); } }); }
Example #24
Source File: NoCacheStrategy.java From RxCache with Apache License 2.0 | 5 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type, BackpressureStrategy backpressureStrategy) { return source.map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { return new Record<>(Source.CLOUD, key, t); } }); }
Example #25
Source File: ParallelFromBatchPublisher.java From akarnokd-misc with Apache License 2.0 | 5 votes |
@Override public void onNext(@NonNull T t) { if (sourceMode == QueueFuseable.NONE) { if (!queue.offer(t)) { onError(new MissingBackpressureException("Queue full?!")); return; } } drain(); }
Example #26
Source File: Relay.java From RxRelay with Apache License 2.0 | 5 votes |
/** * Wraps this Relay and serializes the calls to {@link #accept}, making it thread-safe. * <p>The method is thread-safe. */ @NonNull @CheckReturnValue public final Relay<T> toSerialized() { if (this instanceof SerializedRelay) { return this; } return new SerializedRelay<T>(this); }
Example #27
Source File: MergedTransformer.java From mobius with Apache License 2.0 | 5 votes |
@Override public Observable<R> apply(@NonNull Observable<T> input) { return input.publish( new Function<Observable<T>, Observable<R>>() { @Override public Observable<R> apply(Observable<T> innerInput) throws Throwable { final List<Observable<R>> transformed = new ArrayList<>(); for (ObservableTransformer<T, R> transformer : transformers) { transformed.add(innerInput.compose(transformer)); } return Observable.merge(transformed); } }); }
Example #28
Source File: RxEventSources.java From mobius with Apache License 2.0 | 5 votes |
/** * Create an event source from the given RxJava streams. * * <p>All streams must be mapped to your event type. * * @param sources the observables you want to include in this event source * @param <E> the event type * @return an EventSource based on the provided observables */ @SafeVarargs public static <E> EventSource<E> fromObservables(@NonNull final ObservableSource<E>... sources) { final Observable<E> eventSource = Observable.mergeArray(sources); return new EventSource<E>() { @Nonnull @Override public com.spotify.mobius.disposables.Disposable subscribe( com.spotify.mobius.functions.Consumer<E> eventConsumer) { final Disposable disposable = eventSource.subscribe( new Consumer<E>() { @Override public void accept(E value) throws Throwable { eventConsumer.accept(value); } }, new Consumer<Throwable>() { @Override public void accept(Throwable error) throws Throwable { RxJavaPlugins.onError(error); } }); return new com.spotify.mobius.disposables.Disposable() { @Override public void dispose() { disposable.dispose(); } }; } }; }
Example #29
Source File: Relay.java From RxRelay with Apache License 2.0 | 5 votes |
/** * Wraps this Relay and serializes the calls to {@link #accept}, making it thread-safe. * <p>The method is thread-safe. */ @NonNull @CheckReturnValue public final Relay<T> toSerialized() { if (this instanceof SerializedRelay) { return this; } return new SerializedRelay<T>(this); }
Example #30
Source File: NoCacheStrategy.java From RxCache with Apache License 2.0 | 5 votes |
@Override public <T> Publisher<Record<T>> execute(RxCache rxCache, String key, Flowable<T> source, Type type) { return source.map(new Function<T, Record<T>>() { @Override public Record<T> apply(@NonNull T t) throws Exception { return new Record<>(Source.CLOUD, key, t); } }); }