Class AbstractCheckedFuture<V,X extends java.lang.Exception>
- java.lang.Object
-
- com.google.common.collect.ForwardingObject
-
- com.google.common.util.concurrent.ForwardingFuture<V>
-
- com.google.common.util.concurrent.ForwardingListenableFuture<V>
-
- com.google.common.util.concurrent.ForwardingListenableFuture.SimpleForwardingListenableFuture<V>
-
- com.google.common.util.concurrent.AbstractCheckedFuture<V,X>
-
- All Implemented Interfaces:
CheckedFuture<V,X>
,ListenableFuture<V>
,java.util.concurrent.Future<V>
@Beta public abstract class AbstractCheckedFuture<V,X extends java.lang.Exception> extends ForwardingListenableFuture.SimpleForwardingListenableFuture<V> implements CheckedFuture<V,X>
A delegating wrapper around aListenableFuture
that adds support for thecheckedGet()
andcheckedGet(long, TimeUnit)
methods.- Since:
- 1.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.google.common.util.concurrent.ForwardingListenableFuture
ForwardingListenableFuture.SimpleForwardingListenableFuture<V>
-
Nested classes/interfaces inherited from class com.google.common.util.concurrent.ForwardingFuture
ForwardingFuture.SimpleForwardingFuture<V>
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description V
checkedGet()
Exception checking version ofFuture.get()
that will translateInterruptedException
,CancellationException
andExecutionException
into application-specific exceptions.V
checkedGet(long timeout, java.util.concurrent.TimeUnit unit)
Exception checking version ofFuture.get(long, TimeUnit)
that will translateInterruptedException
,CancellationException
andExecutionException
into application-specific exceptions.-
Methods inherited from class com.google.common.util.concurrent.ForwardingListenableFuture
addListener
-
Methods inherited from class com.google.common.util.concurrent.ForwardingFuture
cancel, get, get, isCancelled, isDone
-
Methods inherited from class com.google.common.collect.ForwardingObject
toString
-
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.google.common.util.concurrent.ListenableFuture
addListener
-
-
-
-
Method Detail
-
checkedGet
public V checkedGet() throws X extends java.lang.Exception
Exception checking version ofFuture.get()
that will translateInterruptedException
,CancellationException
andExecutionException
into application-specific exceptions.This implementation calls
ForwardingFuture.get()
and maps that method's standard exceptions to instances of typeX
usingmapException(java.lang.Exception)
.In addition, if
get
throws anInterruptedException
, this implementation will set the current thread's interrupt status before callingmapException
.- Specified by:
checkedGet
in interfaceCheckedFuture<V,X extends java.lang.Exception>
- Returns:
- the result of executing the future.
- Throws:
X
- ifForwardingFuture.get()
throws anInterruptedException
,CancellationException
, orExecutionException
X extends java.lang.Exception
-
checkedGet
public V checkedGet(long timeout, java.util.concurrent.TimeUnit unit) throws java.util.concurrent.TimeoutException, X extends java.lang.Exception
Exception checking version ofFuture.get(long, TimeUnit)
that will translateInterruptedException
,CancellationException
andExecutionException
into application-specific exceptions. On timeout this method throws a normalTimeoutException
.This implementation calls
ForwardingFuture.get(long, TimeUnit)
and maps that method's standard exceptions (excludingTimeoutException
, which is propagated) to instances of typeX
usingmapException(java.lang.Exception)
.In addition, if
get
throws anInterruptedException
, this implementation will set the current thread's interrupt status before callingmapException
.- Specified by:
checkedGet
in interfaceCheckedFuture<V,X extends java.lang.Exception>
- Returns:
- the result of executing the future.
- Throws:
X
- ifForwardingFuture.get()
throws anInterruptedException
,CancellationException
, orExecutionException
java.util.concurrent.TimeoutException
- if retrieving the result timed out.X extends java.lang.Exception
-
-