Package | Description |
---|---|
com.google.common.util.concurrent |
Concurrency utilities.
|
Modifier and Type | Field and Description |
---|---|
private ClosingFuture<? extends V> |
ClosingFuture.ValueAndCloser.closingFuture |
private ClosingFuture<V1> |
ClosingFuture.Combiner2.future1 |
private ClosingFuture<V1> |
ClosingFuture.Combiner3.future1 |
private ClosingFuture<V1> |
ClosingFuture.Combiner4.future1 |
private ClosingFuture<V1> |
ClosingFuture.Combiner5.future1 |
private ClosingFuture<V2> |
ClosingFuture.Combiner2.future2 |
private ClosingFuture<V2> |
ClosingFuture.Combiner3.future2 |
private ClosingFuture<V2> |
ClosingFuture.Combiner4.future2 |
private ClosingFuture<V2> |
ClosingFuture.Combiner5.future2 |
private ClosingFuture<V3> |
ClosingFuture.Combiner3.future3 |
private ClosingFuture<V3> |
ClosingFuture.Combiner4.future3 |
private ClosingFuture<V3> |
ClosingFuture.Combiner5.future3 |
private ClosingFuture<V4> |
ClosingFuture.Combiner4.future4 |
private ClosingFuture<V4> |
ClosingFuture.Combiner5.future4 |
private ClosingFuture<V5> |
ClosingFuture.Combiner5.future5 |
Modifier and Type | Field and Description |
---|---|
private ImmutableList<ClosingFuture<?>> |
ClosingFuture.Peeker.futures |
private static Function<ClosingFuture<?>,FluentFuture<?>> |
ClosingFuture.Combiner.INNER_FUTURE |
protected ImmutableList<ClosingFuture<?>> |
ClosingFuture.Combiner.inputs |
Modifier and Type | Method and Description |
---|---|
ClosingFuture<U> |
ClosingFuture.AsyncClosingFunction.apply(ClosingFuture.DeferredCloser closer,
T input)
Applies this function to an input, or throws an exception if unable to do so.
|
ClosingFuture<U> |
ClosingFuture.Combiner2.AsyncClosingFunction2.apply(ClosingFuture.DeferredCloser closer,
V1 value1,
V2 value2)
Applies this function to two inputs, or throws an exception if unable to do so.
|
ClosingFuture<U> |
ClosingFuture.Combiner3.AsyncClosingFunction3.apply(ClosingFuture.DeferredCloser closer,
V1 value1,
V2 value2,
V3 value3)
Applies this function to three inputs, or throws an exception if unable to do so.
|
ClosingFuture<U> |
ClosingFuture.Combiner4.AsyncClosingFunction4.apply(ClosingFuture.DeferredCloser closer,
V1 value1,
V2 value2,
V3 value3,
V4 value4)
Applies this function to four inputs, or throws an exception if unable to do so.
|
ClosingFuture<U> |
ClosingFuture.Combiner5.AsyncClosingFunction5.apply(ClosingFuture.DeferredCloser closer,
V1 value1,
V2 value2,
V3 value3,
V4 value4,
V5 value5)
Applies this function to five inputs, or throws an exception if unable to do so.
|
<V> ClosingFuture<V> |
ClosingFuture.Combiner.call(ClosingFuture.Combiner.CombiningCallable<V> combiningCallable,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
combining function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner2.call(ClosingFuture.Combiner2.ClosingFunction2<V1,V2,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
combining function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner3.call(ClosingFuture.Combiner3.ClosingFunction3<V1,V2,V3,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
combining function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner4.call(ClosingFuture.Combiner4.ClosingFunction4<V1,V2,V3,V4,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
combining function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner5.call(ClosingFuture.Combiner5.ClosingFunction5<V1,V2,V3,V4,V5,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
combining function to their values. |
ClosingFuture<V> |
ClosingFuture.AsyncClosingCallable.call(ClosingFuture.DeferredCloser closer)
Computes a result, or throws an exception if unable to do so.
|
ClosingFuture<V> |
ClosingFuture.Combiner.AsyncCombiningCallable.call(ClosingFuture.DeferredCloser closer,
ClosingFuture.Peeker peeker)
Computes a
ClosingFuture result, or throws an exception if unable to do so. |
<V> ClosingFuture<V> |
ClosingFuture.Combiner.callAsync(ClosingFuture.Combiner.AsyncCombiningCallable<V> combiningCallable,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
ClosingFuture -returning function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner2.callAsync(ClosingFuture.Combiner2.AsyncClosingFunction2<V1,V2,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
ClosingFuture -returning function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner3.callAsync(ClosingFuture.Combiner3.AsyncClosingFunction3<V1,V2,V3,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
ClosingFuture -returning function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner4.callAsync(ClosingFuture.Combiner4.AsyncClosingFunction4<V1,V2,V3,V4,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
ClosingFuture -returning function to their values. |
<U> ClosingFuture<U> |
ClosingFuture.Combiner5.callAsync(ClosingFuture.Combiner5.AsyncClosingFunction5<V1,V2,V3,V4,V5,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from the inputs by applying a
ClosingFuture -returning function to their values. |
<X extends java.lang.Throwable> |
ClosingFuture.catching(java.lang.Class<X> exceptionType,
ClosingFuture.ClosingFunction<? super X,? extends V> fallback,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from this one by applying a function
to its exception if it is an instance of a given exception type. |
<X extends java.lang.Throwable> |
ClosingFuture.catchingAsync(java.lang.Class<X> exceptionType,
ClosingFuture.AsyncClosingFunction<? super X,? extends V> fallback,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from this one by applying a function
that returns a ClosingFuture to its exception if it is an instance of a given exception
type. |
private <X extends java.lang.Throwable,W extends V> |
ClosingFuture.catchingAsyncMoreGeneric(java.lang.Class<X> exceptionType,
ClosingFuture.AsyncClosingFunction<? super X,W> fallback,
java.util.concurrent.Executor executor) |
private <X extends java.lang.Throwable,W extends V> |
ClosingFuture.catchingMoreGeneric(java.lang.Class<X> exceptionType,
ClosingFuture.ClosingFunction<? super X,W> fallback,
java.util.concurrent.Executor executor) |
private <U> ClosingFuture<U> |
ClosingFuture.derive(FluentFuture<U> future) |
static <C extends java.lang.Object & java.lang.AutoCloseable> |
ClosingFuture.eventuallyClosing(ListenableFuture<C> future,
java.util.concurrent.Executor closingExecutor)
Deprecated.
Creating
Future s of closeable types is dangerous in general because the
underlying value may never be closed if the Future is canceled after its operation
begins. Consider replacing code that creates ListenableFuture s of closeable types,
including those that pass them to this method, with submit(ClosingCallable,
Executor) in order to ensure that resources do not leak. Or, to start a pipeline with a
ListenableFuture that doesn't create values that should be closed, use from(com.google.common.util.concurrent.ListenableFuture<V>) . |
static <V> ClosingFuture<V> |
ClosingFuture.from(ListenableFuture<V> future)
Starts a
ClosingFuture pipeline with a ListenableFuture . |
static <V> ClosingFuture<V> |
ClosingFuture.submit(ClosingFuture.ClosingCallable<V> callable,
java.util.concurrent.Executor executor)
Starts a
ClosingFuture pipeline by submitting a callable block to an executor. |
static <V> ClosingFuture<V> |
ClosingFuture.submitAsync(ClosingFuture.AsyncClosingCallable<V> callable,
java.util.concurrent.Executor executor)
Starts a
ClosingFuture pipeline by submitting a callable block to an executor. |
<U> ClosingFuture<U> |
ClosingFuture.transform(ClosingFuture.ClosingFunction<? super V,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from this one by applying a function
to its value. |
<U> ClosingFuture<U> |
ClosingFuture.transformAsync(ClosingFuture.AsyncClosingFunction<? super V,U> function,
java.util.concurrent.Executor executor)
Returns a new
ClosingFuture pipeline step derived from this one by applying a function
that returns a ClosingFuture to its value. |
Modifier and Type | Method and Description |
---|---|
<D> D |
ClosingFuture.Peeker.getDone(ClosingFuture<D> closingFuture)
Returns the value of
closingFuture . |
private static <C,V extends C> |
ClosingFuture.provideValueAndCloser(ClosingFuture.ValueAndCloserConsumer<C> consumer,
ClosingFuture<V> closingFuture) |
static ClosingFuture.Combiner |
ClosingFuture.whenAllComplete(ClosingFuture<?> future1,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllComplete(ClosingFuture<?> future1,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(ClosingFuture<?> future1,
ClosingFuture<?> future2,
ClosingFuture<?> future3,
ClosingFuture<?> future4,
ClosingFuture<?> future5,
ClosingFuture<?> future6,
ClosingFuture<?>... moreFutures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
static <V1,V2> ClosingFuture.Combiner2<V1,V2> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2)
Starts specifying how to combine two
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2> ClosingFuture.Combiner2<V1,V2> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2)
Starts specifying how to combine two
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3> ClosingFuture.Combiner3<V1,V2,V3> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3)
Starts specifying how to combine three
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3> ClosingFuture.Combiner3<V1,V2,V3> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3)
Starts specifying how to combine three
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3> ClosingFuture.Combiner3<V1,V2,V3> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3)
Starts specifying how to combine three
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4)
Starts specifying how to combine four
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4)
Starts specifying how to combine four
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4)
Starts specifying how to combine four
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4)
Starts specifying how to combine four
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4,V5> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4,
ClosingFuture<V5> future5)
Starts specifying how to combine five
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4,V5> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4,
ClosingFuture<V5> future5)
Starts specifying how to combine five
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4,V5> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4,
ClosingFuture<V5> future5)
Starts specifying how to combine five
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4,V5> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4,
ClosingFuture<V5> future5)
Starts specifying how to combine five
ClosingFuture s into a single pipeline, assuming
they all succeed. |
static <V1,V2,V3,V4,V5> |
ClosingFuture.whenAllSucceed(ClosingFuture<V1> future1,
ClosingFuture<V2> future2,
ClosingFuture<V3> future3,
ClosingFuture<V4> future4,
ClosingFuture<V5> future5)
Starts specifying how to combine five
ClosingFuture s into a single pipeline, assuming
they all succeed. |
Modifier and Type | Method and Description |
---|---|
static ClosingFuture.Combiner |
ClosingFuture.whenAllComplete(java.lang.Iterable<? extends ClosingFuture<?>> futures)
Starts specifying how to combine
ClosingFuture s into a single pipeline. |
static ClosingFuture.Combiner |
ClosingFuture.whenAllSucceed(java.lang.Iterable<? extends ClosingFuture<?>> futures)
Starts specifying how to combine
ClosingFuture s into a single pipeline, assuming they
all succeed. |
Constructor and Description |
---|
Combiner(boolean allMustSucceed,
java.lang.Iterable<? extends ClosingFuture<?>> inputs) |
Peeker(ImmutableList<ClosingFuture<?>> futures) |