Class AbstractDataFetcher<K,T>

java.lang.Object
io.smallrye.graphql.execution.datafetcher.AbstractDataFetcher<K,T>
Type Parameters:
K -
T -
All Implemented Interfaces:
graphql.schema.DataFetcher<T>, PlugableBatchableDataFetcher<K,T>, PlugableDataFetcher<T>, org.dataloader.BatchLoaderWithContext<K,T>
Direct Known Subclasses:
AbstractAsyncDataFetcher, AbstractStreamingDataFetcher, DefaultDataFetcher

public abstract class AbstractDataFetcher<K,T> extends Object implements PlugableBatchableDataFetcher<K,T>
The abstract data fetcher
Author:
Phillip Kruger (phillip.kruger@redhat.com)
  • Field Details

  • Constructor Details

    • AbstractDataFetcher

      public AbstractDataFetcher(io.smallrye.graphql.schema.model.Operation operation, io.smallrye.graphql.schema.model.Type type)
  • Method Details

    • get

      public T get(graphql.schema.DataFetchingEnvironment dfe) throws Exception
      Specified by:
      get in interface graphql.schema.DataFetcher<K>
      Throws:
      Exception
    • load

      public CompletionStage<List<T>> load(List<K> keys, org.dataloader.BatchLoaderEnvironment ble)
      Specified by:
      load in interface org.dataloader.BatchLoaderWithContext<K,T>
    • invokeAndTransform

      protected abstract <T> T invokeAndTransform(io.smallrye.graphql.api.Context c, graphql.schema.DataFetchingEnvironment dfe, graphql.execution.DataFetcherResult.Builder<Object> resultBuilder, Object[] transformedArguments) throws AbstractDataFetcherException, Exception
      Throws:
      AbstractDataFetcherException
      Exception
    • invokeFailure

      protected abstract <T> T invokeFailure(graphql.execution.DataFetcherResult.Builder<Object> resultBuilder)
    • invokeBatch

      protected abstract CompletionStage<List<T>> invokeBatch(graphql.schema.DataFetchingEnvironment dfe, Object[] arguments)