Class DataLoaderDispatcherInstrumentationState

java.lang.Object
graphql.execution.instrumentation.dataloader.DataLoaderDispatcherInstrumentationState
All Implemented Interfaces:
InstrumentationState

@PublicApi public class DataLoaderDispatcherInstrumentationState extends Object implements InstrumentationState
A base class that keeps track of whether aggressive batching can be used
  • Field Details

    • EMPTY_DATALOADER_REGISTRY

      public static final org.dataloader.DataLoaderRegistry EMPTY_DATALOADER_REGISTRY
    • approach

      private final FieldLevelTrackingApproach approach
    • dataLoaderRegistry

      private final AtomicReference<org.dataloader.DataLoaderRegistry> dataLoaderRegistry
    • state

      private final InstrumentationState state
    • aggressivelyBatching

      private volatile boolean aggressivelyBatching
    • hasNoDataLoaders

      private volatile boolean hasNoDataLoaders
  • Constructor Details

    • DataLoaderDispatcherInstrumentationState

      public DataLoaderDispatcherInstrumentationState(org.slf4j.Logger log, org.dataloader.DataLoaderRegistry dataLoaderRegistry)
  • Method Details

    • checkForNoDataLoader

      private boolean checkForNoDataLoader(org.dataloader.DataLoaderRegistry dataLoaderRegistry)
    • isAggressivelyBatching

      boolean isAggressivelyBatching()
    • setAggressivelyBatching

      void setAggressivelyBatching(boolean aggressivelyBatching)
    • getApproach

    • getDataLoaderRegistry

      org.dataloader.DataLoaderRegistry getDataLoaderRegistry()
    • setDataLoaderRegistry

      void setDataLoaderRegistry(org.dataloader.DataLoaderRegistry newRegistry)
    • hasNoDataLoaders

      boolean hasNoDataLoaders()
    • getState