Package graphql.execution
Class SubscriptionExecutionStrategy
java.lang.Object
graphql.execution.ExecutionStrategy
graphql.execution.SubscriptionExecutionStrategy
An execution strategy that implements graphql subscriptions by using reactive-streams
as the output result of the subscription query.
Afterwards each object delivered on that stream will be mapped via running the original selection set over that object and hence producing an ExecutionResult just like a normal graphql query.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final String
If a boolean value is placed into theGraphQLContext
with this key then the order of the subscription events can be controlled.Fields inherited from class graphql.execution.ExecutionStrategy
dataFetcherExceptionHandler, executionStepInfoFactory, fieldCollector
-
Constructor Summary
ConstructorsConstructorDescriptionSubscriptionExecutionStrategy
(DataFetcherExceptionHandler dataFetcherExceptionHandler) -
Method Summary
Modifier and TypeMethodDescriptionexecute
(ExecutionContext executionContext, ExecutionStrategyParameters parameters) This is the entry point to an execution strategy.Methods inherited from class graphql.execution.ExecutionStrategy
assertNonNullFieldPrecondition, assertNonNullFieldPrecondition, completeField, completeValue, completeValueForEnum, completeValueForList, completeValueForList, completeValueForNull, completeValueForObject, completeValueForScalar, createExecutionStepInfo, executeObject, fetchField, getFieldDef, getFieldDef, getNormalizedField, handleFetchingException, handleNonNullException, handleValueException, mkNameForPath, mkNameForPath, mkNameForPath, resolveFieldWithInfo, resolveType, toIterable, unboxPossibleDataFetcherResult
-
Field Details
-
KEEP_SUBSCRIPTION_EVENTS_ORDERED
If a boolean value is placed into theGraphQLContext
with this key then the order of the subscription events can be controlled. By default, subscription events are published as the graphql subselection calls complete, and not in the order they originally arrived from the source publisher. But this can be changed toBoolean.TRUE
to keep them in order.- See Also:
-
-
Constructor Details
-
SubscriptionExecutionStrategy
public SubscriptionExecutionStrategy() -
SubscriptionExecutionStrategy
-
-
Method Details
-
execute
public CompletableFuture<ExecutionResult> execute(ExecutionContext executionContext, ExecutionStrategyParameters parameters) throws NonNullableFieldWasNullException Description copied from class:ExecutionStrategy
This is the entry point to an execution strategy. It will be passed the fields to execute and get values for.- Specified by:
execute
in classExecutionStrategy
- Parameters:
executionContext
- contains the top level execution parametersparameters
- contains the parameters holding the fields to be executed and source object- Returns:
- a promise to an
ExecutionResult
- Throws:
NonNullableFieldWasNullException
- in the future if a non-null field resolves to a null value
-