- java.lang.Object
-
- com.google.common.util.concurrent.ClosingFuture.ValueAndCloser<V>
-
- Type Parameters:
V
- the type of the value of a successful operation
- Enclosing class:
- ClosingFuture<V extends @Nullable Object>
public static final class ClosingFuture.ValueAndCloser<V extends @Nullable Object> extends Object
An object that holds the final result of an asynchronousClosingFuture
operation and allows the user to close all the closeable objects that were captured during it for later closing.The asynchronous operation will have completed before this object is created.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
closeAsync()
Starts closing all closeable objects captured during theClosingFuture
's asynchronous operation on theExecutor
s specified by calls toDeferredCloser#eventuallyClose(Closeable, Executor)
.V
get()
Returns the final value of the associatedClosingFuture
, or throws an exception asFuture.get()
would.
-
-
-
Method Detail
-
get
public V get() throws ExecutionException
Returns the final value of the associatedClosingFuture
, or throws an exception asFuture.get()
would.Because the asynchronous operation has already completed, this method is synchronous and returns immediately.
- Throws:
CancellationException
- if the computation was cancelledExecutionException
- if the computation threw an exception
-
closeAsync
public void closeAsync()
Starts closing all closeable objects captured during theClosingFuture
's asynchronous operation on theExecutor
s specified by calls toDeferredCloser#eventuallyClose(Closeable, Executor)
.If any such calls specified
MoreExecutors.directExecutor()
, those objects will be closed synchronously.Idempotent: objects will be closed at most once.
-
-