@PublicApi public class AsyncDataFetcher<T> extends java.lang.Object implements DataFetcher<java.util.concurrent.CompletableFuture<T>>
| Constructor and Description |
|---|
AsyncDataFetcher(DataFetcher<T> wrappedDataFetcher) |
AsyncDataFetcher(DataFetcher<T> wrappedDataFetcher,
java.util.concurrent.Executor executor) |
| Modifier and Type | Method and Description |
|---|---|
static <T> AsyncDataFetcher<T> |
async(DataFetcher<T> wrappedDataFetcher)
A factory method for creating asynchronous data fetchers so that when used with
static imports allows more readable code such as:
|
static <T> AsyncDataFetcher<T> |
async(DataFetcher<T> wrappedDataFetcher,
java.util.concurrent.Executor executor)
A factory method for creating asynchronous data fetchers and setting the
Executor they run in so that when used with static imports allows
more readable code such as: |
java.util.concurrent.CompletableFuture<T> |
get(DataFetchingEnvironment environment)
This is called by the graphql engine to fetch the value.
|
java.util.concurrent.Executor |
getExecutor() |
DataFetcher<T> |
getWrappedDataFetcher() |
public AsyncDataFetcher(DataFetcher<T> wrappedDataFetcher)
public AsyncDataFetcher(DataFetcher<T> wrappedDataFetcher, java.util.concurrent.Executor executor)
public static <T> AsyncDataFetcher<T> async(DataFetcher<T> wrappedDataFetcher)
.dataFetcher(async(fooDataFetcher))
By default this will run in the ForkJoinPool.commonPool(). You can set
your own Executor with async(DataFetcher, Executor)
T - the type of datawrappedDataFetcher - the data fetcher to run asynchronouslyDataFetcher that will run the wrappedDataFetcher asynchronouslypublic static <T> AsyncDataFetcher<T> async(DataFetcher<T> wrappedDataFetcher, java.util.concurrent.Executor executor)
Executor they run in so that when used with static imports allows
more readable code such as:
.dataFetcher(async(fooDataFetcher, fooExecutor))
T - the type of datawrappedDataFetcher - the data fetcher to run asynchronouslyexecutor - the executor to run the asynchronous data fetcher inDataFetcher that will run the wrappedDataFetcher asynchronously in
the given Executorpublic DataFetcher<T> getWrappedDataFetcher()
public java.util.concurrent.Executor getExecutor()
public java.util.concurrent.CompletableFuture<T> get(DataFetchingEnvironment environment)
DataFetcherDataFetchingEnvironment is a composite
context object that tells you all you need to know about how to fetch a data value in graphql type terms.get in interface DataFetcher<java.util.concurrent.CompletableFuture<T>>environment - this is the data fetching environment which contains all the context you need to fetch a valueDataFetcherResult