Class FieldLevelTrackingApproach
- java.lang.Object
-
- graphql.execution.instrumentation.dataloader.FieldLevelTrackingApproach
-
public class FieldLevelTrackingApproach extends java.lang.Object
This approach uses field level tracking to achieve its aims of making the data loader more efficient
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
FieldLevelTrackingApproach.CallStack
-
Field Summary
Fields Modifier and Type Field Description private java.util.function.Supplier<org.dataloader.DataLoaderRegistry>
dataLoaderRegistrySupplier
private org.slf4j.Logger
log
-
Constructor Summary
Constructors Constructor Description FieldLevelTrackingApproach(org.slf4j.Logger log, java.util.function.Supplier<org.dataloader.DataLoaderRegistry> dataLoaderRegistrySupplier)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description (package private) ExecutionStrategyInstrumentationContext
beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState rawState)
InstrumentationContext<java.lang.Object>
beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState rawState)
InstrumentationState
createState()
(package private) void
dispatch()
private boolean
dispatchIfNeeded(FieldLevelTrackingApproach.CallStack callStack, int level)
private int
getCountForList(java.util.List<FieldValueInfo> fieldValueInfos)
private org.dataloader.DataLoaderRegistry
getDataLoaderRegistry()
private boolean
handleOnFieldValuesInfo(java.util.List<FieldValueInfo> fieldValueInfos, FieldLevelTrackingApproach.CallStack callStack, int curLevel)
private boolean
levelReady(FieldLevelTrackingApproach.CallStack callStack, int level)
-
-
-
Method Detail
-
createState
public InstrumentationState createState()
-
beginExecutionStrategy
ExecutionStrategyInstrumentationContext beginExecutionStrategy(InstrumentationExecutionStrategyParameters parameters, InstrumentationState rawState)
-
handleOnFieldValuesInfo
private boolean handleOnFieldValuesInfo(java.util.List<FieldValueInfo> fieldValueInfos, FieldLevelTrackingApproach.CallStack callStack, int curLevel)
-
getCountForList
private int getCountForList(java.util.List<FieldValueInfo> fieldValueInfos)
-
beginFieldFetch
public InstrumentationContext<java.lang.Object> beginFieldFetch(InstrumentationFieldFetchParameters parameters, InstrumentationState rawState)
-
dispatchIfNeeded
private boolean dispatchIfNeeded(FieldLevelTrackingApproach.CallStack callStack, int level)
-
levelReady
private boolean levelReady(FieldLevelTrackingApproach.CallStack callStack, int level)
-
dispatch
void dispatch()
-
getDataLoaderRegistry
private org.dataloader.DataLoaderRegistry getDataLoaderRegistry()
-
-