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) ExecutionStrategyInstrumentationContext
beginExecutionStrategy
(InstrumentationExecutionStrategyParameters parameters, InstrumentationState rawState) beginFieldFetch
(InstrumentationFieldFetchParameters parameters, InstrumentationState rawState) (package private) void
dispatch()
private boolean
dispatchIfNeeded
(FieldLevelTrackingApproach.CallStack callStack, int level) private int
getCountForList
(List<FieldValueInfo> fieldValueInfos) private org.dataloader.DataLoaderRegistry
private boolean
handleOnFieldValuesInfo
(List<FieldValueInfo> fieldValueInfos, FieldLevelTrackingApproach.CallStack callStack, int curLevel) private boolean
levelReady
(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()
-