Package graphql.execution.incremental
Interface DeferredExecutionSupport
- All Known Implementing Classes:
DeferredExecutionSupport.DeferredExecutionSupportImpl
,DeferredExecutionSupport.NoOp
public interface DeferredExecutionSupport
The purpose of this class hierarchy is to encapsulate most of the logic for deferring field execution, thus
keeping the main execution strategy code clean and focused on the main execution logic.
The DeferredExecutionSupport.NoOp
instance should be used when incremental support is not enabled for the current execution. The
methods in this class will return empty or no-op results, that should not impact the main execution.
DeferredExecutionSupport.DeferredExecutionSupportImpl
is the actual implementation that will be used when incremental support is enabled.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic class
An implementation that actually executes the deferred fields.static class
A no-op implementation that should be used when incremental support is not enabled for the current execution. -
Field Summary
Fields -
Method Summary
Modifier and TypeMethodDescriptionSet
<IncrementalCall<? extends IncrementalPayload>> int
getNonDeferredFieldNames
(List<String> allFieldNames) boolean
isDeferredField
(MergedField mergedField)
-
Field Details
-
NOOP
-
-
Method Details
-
isDeferredField
-
deferredFieldsCount
int deferredFieldsCount() -
getNonDeferredFieldNames
-
createCalls
Set<IncrementalCall<? extends IncrementalPayload>> createCalls()
-