类io.reactivex.rxjava3.functions.Supplier源码实例Demo

下面列出了怎么用io.reactivex.rxjava3.functions.Supplier的API类实例代码及写法,或者点击链接到github查看源代码。

源代码1 项目: mobius   文件: Transformers.java
/**
 * 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);
            }
          });
    }
  };
}
 
源代码2 项目: RxIdler   文件: Rx3Idler.java
/**
 * Returns a function which wraps the supplied {@link Scheduler} in one which notifies Espresso as
 * to whether it is currently executing work or not.
 * <p>
 * Note: Work scheduled in the future does not mark the idling resource as busy.
 */
@SuppressWarnings("ConstantConditions") // Public API guarding.
@CheckResult @NonNull
public static Function<Supplier<Scheduler>, Scheduler> create(@NonNull final String name) {
  if (name == null) throw new NullPointerException("name == null");
  return delegate -> {
    IdlingResourceScheduler scheduler =
        new DelegatingIdlingResourceScheduler(delegate.get(), name);
    IdlingRegistry.getInstance().register(scheduler);
    return scheduler;
  };
}
 
源代码3 项目: armeria   文件: RequestContextSupplierFlowable.java
@SuppressWarnings("unchecked")
@Override
public T get() throws Throwable {
    try (SafeCloseable ignored = assemblyContext.push()) {
        return ((Supplier<T>) source).get();
    }
}
 
源代码4 项目: armeria   文件: RequestContextSupplierSingle.java
@SuppressWarnings("unchecked")
@Override
public T get() throws Throwable {
    try (SafeCloseable ignored = assemblyContext.push()) {
        return ((Supplier<T>) source).get();
    }
}
 
源代码5 项目: armeria   文件: RequestContextSupplierMaybe.java
@SuppressWarnings("unchecked")
@Override
public T get() throws Throwable {
    try (SafeCloseable ignored = assemblyContext.push()) {
        return ((Supplier<T>) source).get();
    }
}
 
@SuppressWarnings("unchecked")
@Override
public T get() throws Throwable {
    try (SafeCloseable ignored = assemblyContext.push()) {
        return ((Supplier<T>) source).get();
    }
}
 
 类所在包
 类方法
 同包方法