Interface LightDataFetcher<T>

    • Method Detail

      • get

        T get​(GraphQLFieldDefinition fieldDefinition,
              java.lang.Object sourceObject,
              java.util.function.Supplier<DataFetchingEnvironment> environmentSupplier)
        throws java.lang.Exception
        This is called to by the engine to get a value from the source object in a lightweight fashion. Only the field and source object are passed in a materialised way. The more heavy weight DataFetchingEnvironment is wrapped in a supplier that is only created on demand.

        If you are a lightweight data fetcher (like PropertyDataFetcher is) then you can implement this method to have a more lightweight method invocation. However, if you need field arguments etc. during fetching (most custom fetchers will) then you should use implement DataFetcher.get(DataFetchingEnvironment).

        Parameters:
        fieldDefinition - the graphql field definition
        sourceObject - the source object to get a value from
        environmentSupplier - a supplier of the DataFetchingEnvironment that creates it lazily
        Returns:
        a value of type T. May be wrapped in a DataFetcherResult
        Throws:
        java.lang.Exception - to relieve the implementations from having to wrap checked exceptions. Any exception thrown from a DataFetcher will eventually be handled by the registered DataFetcherExceptionHandler and the related field will have a value of null in the result.