Class InternalFutureFailureAccess

java.lang.Object
com.google.common.util.concurrent.internal.InternalFutureFailureAccess
Direct Known Subclasses:
AbstractFuture

public abstract class InternalFutureFailureAccess extends Object
A future that, if it fails, may optionally provide access to the cause of the failure.

This class is used only for micro-optimization. Standard Future utilities benefit from this optimization, so there is no need to specialize methods to return or accept this type instead of ListenableFuture.

This class is GWT-compatible.

Since:
com.google.guava:failureaccess:1.0, which was added as a dependency of Guava in Guava 27.0
  • Constructor Details

    • InternalFutureFailureAccess

      protected InternalFutureFailureAccess()
      Constructor for use by subclasses.
  • Method Details

    • tryInternalFastPathGetFailure

      protected abstract Throwable tryInternalFastPathGetFailure()
      Usually returns null but, if this Future has failed, may optionally return the cause of the failure. "Failure" means specifically "completed with an exception"; it does not include "was cancelled." To be explicit: If this method returns a non-null value, then:
      • isDone() must return true
      • isCancelled() must return false
      • get() must not block, and it must throw an ExecutionException with the return value of this method as its cause

      This method is protected so that classes like com.google.common.util.concurrent.SettableFuture do not expose it to their users as an instance method. In the unlikely event that you need to call this method, call InternalFutures.tryInternalFastPathGetFailure(InternalFutureFailureAccess).