/** * An alias for futures(stage, delay, unit) that uses a java.time.Duration. * * @param stage the input completion stage that may time out. * @param duration The duration after which there is a timeout. * @param <A> the completion stage that should be wrapped with a future. * @return the completion stage, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final Duration duration) { requireNonNull(stage, "Null stage"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.timeout(finiteDuration, Scala.asScalaWithFuture(() -> stage))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param duration to wait. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, Duration duration) { requireNonNull(callable, "Null callable"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.delayed(finiteDuration, Scala.asScalaWithFuture(callable))); }
/** * An alias for futures(stage, delay, unit) that uses a java.time.Duration. * * @param stage the input completion stage that may time out. * @param duration The duration after which there is a timeout. * @param <A> the completion stage that should be wrapped with a future. * @return the completion stage, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final Duration duration) { requireNonNull(stage, "Null stage"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.timeout(finiteDuration, Scala.asScalaWithFuture(() -> stage))); }
/** * An alias for futures(stage, delay, unit) that uses a java.time.Duration. * * @param stage the input completion stage that may time out. * @param duration The duration after which there is a timeout. * @param <A> the completion stage that should be wrapped with a future. * @return the completion stage, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final Duration duration) { requireNonNull(stage, "Null stage"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.timeout(finiteDuration, Scala.asScalaWithFuture(() -> stage))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param duration to wait. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, Duration duration) { requireNonNull(callable, "Null callable"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.delayed(finiteDuration, Scala.asScalaWithFuture(callable))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param duration to wait. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, Duration duration) { requireNonNull(callable, "Null callable"); requireNonNull(duration, "Null duration"); FiniteDuration finiteDuration = FiniteDuration.apply(duration.toMillis(), TimeUnit.MILLISECONDS); return toJava(delegate.delayed(finiteDuration, Scala.asScalaWithFuture(callable))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param amount The time to wait. * @param unit The units to use for the amount. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, long amount, TimeUnit unit) { requireNonNull(callable, "Null callable"); requireNonNull(amount, "Null amount"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.delayed(duration, Scala.asScalaWithFuture(callable))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param amount The time to wait. * @param unit The units to use for the amount. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, long amount, TimeUnit unit) { requireNonNull(callable, "Null callable"); requireNonNull(amount, "Null amount"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.delayed(duration, Scala.asScalaWithFuture(callable))); }
/** * Create a CompletionStage which, after a delay, will be redeemed with the result of a * given supplier. The supplier will be called after the delay. * * @param callable the input completion stage that is delayed. * @param amount The time to wait. * @param unit The units to use for the amount. * @param <A> the type of the completion's result. * @return the delayed CompletionStage wrapping supplier. */ @Override public <A> CompletionStage<A> delayed(final Callable<CompletionStage<A>> callable, long amount, TimeUnit unit) { requireNonNull(callable, "Null callable"); requireNonNull(amount, "Null amount"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.delayed(duration, Scala.asScalaWithFuture(callable))); }
/** * Creates a CompletionStage that returns either the input stage, or a futures. * * Note that timeout is not the same as cancellation. Even in case of futures, * the given completion stage will still complete, even though that completed value * is not returned. * * @param stage the input completion stage that may time out. * @param amount The amount (expressed with the corresponding unit). * @param unit The time Unit. * @param <A> the completion's result type. * @return either the completed future, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final long amount, final TimeUnit unit) { requireNonNull(stage, "Null stage"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.timeout(duration, Scala.asScalaWithFuture(() -> stage))); }
/** * Creates a CompletionStage that returns either the input stage, or a futures. * * Note that timeout is not the same as cancellation. Even in case of futures, * the given completion stage will still complete, even though that completed value * is not returned. * * @param stage the input completion stage that may time out. * @param amount The amount (expressed with the corresponding unit). * @param unit The time Unit. * @param <A> the completion's result type. * @return either the completed future, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final long amount, final TimeUnit unit) { requireNonNull(stage, "Null stage"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.timeout(duration, Scala.asScalaWithFuture(() -> stage))); }
/** * Creates a CompletionStage that returns either the input stage, or a futures. * * Note that timeout is not the same as cancellation. Even in case of futures, * the given completion stage will still complete, even though that completed value * is not returned. * * @param stage the input completion stage that may time out. * @param amount The amount (expressed with the corresponding unit). * @param unit The time Unit. * @param <A> the completion's result type. * @return either the completed future, or a completion stage that failed with futures. */ @Override public <A> CompletionStage<A> timeout(final CompletionStage<A> stage, final long amount, final TimeUnit unit) { requireNonNull(stage, "Null stage"); requireNonNull(unit, "Null unit"); FiniteDuration duration = FiniteDuration.apply(amount, unit); return toJava(delegate.timeout(duration, Scala.asScalaWithFuture(() -> stage))); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block, int expiration) { return toJava( asyncCacheApi.getOrElseUpdate(key, intToDuration(expiration), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block, int expiration) { return toJava( asyncCacheApi.getOrElseUpdate(key, intToDuration(expiration), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block, int expiration) { return toJava( asyncCacheApi.getOrElseUpdate(key, intToDuration(expiration), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block) { return toJava(asyncCacheApi.getOrElseUpdate(key, Duration.Inf(), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block) { return toJava(asyncCacheApi.getOrElseUpdate(key, Duration.Inf(), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }
@Override public <T> CompletionStage<T> getOrElseUpdate(String key, Callable<CompletionStage<T>> block) { return toJava(asyncCacheApi.getOrElseUpdate(key, Duration.Inf(), Scala.asScalaWithFuture(block), Scala.<T>classTag())); }