[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003e\u003ccode\u003eFutureWrapper\u003c/code\u003e is a thread-safe class that implements the \u003ccode\u003eFuture\u003c/code\u003e interface, designed to wrap a parent \u003ccode\u003eFuture\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt inherits members from \u003ccode\u003ejava.lang.Object\u003c/code\u003e, including methods like \u003ccode\u003eclone()\u003c/code\u003e, \u003ccode\u003eequals()\u003c/code\u003e, and \u003ccode\u003ehashCode()\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eThe class provides methods like \u003ccode\u003ecancel()\u003c/code\u003e, \u003ccode\u003eget()\u003c/code\u003e, \u003ccode\u003eisCancelled()\u003c/code\u003e, and \u003ccode\u003eisDone()\u003c/code\u003e to manage the wrapped \u003ccode\u003eFuture\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eIt includes \u003ccode\u003econvertException()\u003c/code\u003e and \u003ccode\u003eabsorbParentException()\u003c/code\u003e methods to handle exceptions thrown by the parent \u003ccode\u003eFuture\u003c/code\u003e, allowing for exception conversion or suppression.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eFutureWrapper\u003c/code\u003e class has a constructor that takes a parent \u003ccode\u003eFuture\u003c/code\u003e object as a parameter to wrap.\u003c/p\u003e\n"]]],[],null,["# Class FutureWrapper<K,V> (2.0.0)\n\n public abstract class FutureWrapper\u003cK,V\u003e implements Future\u003cV\u003e\n\n`FutureWrapper` is a simple [Future](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future.html) that wraps a\nparent `Future`. This class is thread-safe. \n\nInheritance\n-----------\n\n[java.lang.Object](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html) \\\u003e FutureWrapper\\\u003cK,V\\\u003e \n\nImplements\n----------\n\n[Future\\\u003cV\\\u003e](https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/Future\u003cV\u003e.html) \n\nInherited Members\n-----------------\n\n[Object.clone()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone--) \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-) \n[Object.finalize()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize--) \n[Object.getClass()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass--) \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--) \n[Object.notify()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify--) \n[Object.notifyAll()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll--) \n[Object.toString()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString--) \n[Object.wait()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait--) \n[Object.wait(long)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-) \n[Object.wait(long,int)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait-long-int-)\n\nConstructors\n------------\n\n### FutureWrapper(Future\\\u003cK\\\u003e parent)\n\n public FutureWrapper(Future\u003cK\u003e parent)\n\nMethods\n-------\n\n### absorbParentException(Throwable cause)\n\n protected V absorbParentException(Throwable cause)\n\nOverride this method if you want to suppress an exception thrown by the\nparent and return a value instead.\n\n### cancel(boolean mayInterruptIfRunning)\n\n public boolean cancel(boolean mayInterruptIfRunning)\n\n### convertException(Throwable cause)\n\n protected abstract Throwable convertException(Throwable cause)\n\n### equals(@Nullable Object obj)\n\n public final boolean equals(@Nullable Object obj)\n\n**Overrides** \n[Object.equals(Object)](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals-java.lang.Object-)\n\n### get()\n\n public V get()\n\n### get(long timeout, TimeUnit unit)\n\n public V get(long timeout, TimeUnit unit)\n\n### hashCode()\n\n public final int hashCode()\n\n**Overrides** \n[Object.hashCode()](https://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode--)\n\n### isCancelled()\n\n public boolean isCancelled()\n\n### isDone()\n\n public boolean isDone()\n\n### wrap(@Nullable K key)\n\n protected abstract V wrap(@Nullable K key)"]]