Class FieldLevelTrackingApproach
java.lang.Object
graphql.execution.instrumentation.dataloader.FieldLevelTrackingApproach
This approach uses field level tracking to achieve its aims of making the data loader more efficient
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Supplier<org.dataloader.DataLoaderRegistry> private final org.slf4j.Logger -
Constructor Summary
ConstructorsConstructorDescriptionFieldLevelTrackingApproach(org.slf4j.Logger log, Supplier<org.dataloader.DataLoaderRegistry> dataLoaderRegistrySupplier) -
Method Summary
Modifier and TypeMethodDescription(package private) ExecutionStrategyInstrumentationContextbeginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState rawState) beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState rawState) (package private) voiddispatch()private booleandispatchIfNeeded(FieldLevelTrackingApproach.CallStack callStack, int level) private intgetCountForList(List<FieldValueInfo> fieldValueInfos) private org.dataloader.DataLoaderRegistryprivate booleanhandleOnFieldValuesInfo(List<FieldValueInfo> fieldValueInfos, FieldLevelTrackingApproach.CallStack callStack, int curLevel) private booleanlevelReady(FieldLevelTrackingApproach.CallStack callStack, int level)
-
Field Details
-
dataLoaderRegistrySupplier
-
log
private final org.slf4j.Logger log
-
-
Constructor Details
-
FieldLevelTrackingApproach
public FieldLevelTrackingApproach(org.slf4j.Logger log, Supplier<org.dataloader.DataLoaderRegistry> dataLoaderRegistrySupplier)
-
-
Method Details
-
createState
-
beginExecutionStrategy
ExecutionStrategyInstrumentationContext beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState rawState) -
handleOnFieldValuesInfo
private boolean handleOnFieldValuesInfo(List<FieldValueInfo> fieldValueInfos, FieldLevelTrackingApproach.CallStack callStack, int curLevel) -
getCountForList
-
beginFieldFetch
public InstrumentationContext<Object> beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState rawState) -
dispatchIfNeeded
-
levelReady
-
dispatch
void dispatch() -
getDataLoaderRegistry
private org.dataloader.DataLoaderRegistry getDataLoaderRegistry()
-