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 classAn implementation that actually executes the deferred fields.static classA 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>> intgetNonDeferredFieldNames(List<String> allFieldNames) booleanisDeferredField(MergedField mergedField)
-
Field Details
-
NOOP
-
-
Method Details
-
isDeferredField
-
deferredFieldsCount
int deferredFieldsCount() -
getNonDeferredFieldNames
-
createCalls
Set<IncrementalCall<? extends IncrementalPayload>> createCalls()
-