Package graphql.execution
package graphql.execution
-
ClassDescriptionThis Exception indicates that the current execution should be aborted.A builder of materialized objects or
CompletableFuture
s than can present a promise to the list of themThe standard graphql execution strategy that runs fields asynchronously non-blocking.Async non-blocking execution, but serial: only one field at the time will be resolved.Holds coerced variables, that is their values are now in a canonical form.This is called when an exception is thrown duringDataFetcher.get(DataFetchingEnvironment)
executionThe parameters available toDataFetcherExceptionHandler
sThe result object forDataFetcherExceptionHandler
sAn object that can be returned from aDataFetcher
that contains both data, local context and errors to be added to the final result.Implements the contract ofResponseMapFactory
withLinkedHashMap
.Public API because it should be used as a delegate when implementing a customValueUnboxer
This class lets you observe the running state of the graphql-java engine.This opaque identifier is used to identify a unique query executionA provider ofExecutionId
sAs the graphql query executes, it forms a hierarchy from parent fields (and their type) to their child fields (and their type) until a scalar type is encountered; this class captures that execution type information.An execution strategy is give a list of fields from the graphql query to execute and find values for using a recursive strategy.The parameters that are passed to execution strategiesNote: This MAY be returned byInstrumentationFieldCompleteParameters.getFetchedObject()
and therefore part of the public despite never used in a method signature.A field collector can iterate over field selection sets and build out the sub fields that have been selected, expanding named and inline fragments as it goes.Internal because FieldCollector is internal.TheFieldValueInfo
holds the type of field that was fetched and completed along with the completed value.https://facebook.github.io/graphql/#sec-Input-Objects - This unordered map should not contain any entries with names not defined by a field of this input object type, otherwise an error should be thrown.This represents all Fields in a query which overlap and are merged into one.This is thrown if a query is attempting to perform an operation not defined in the GraphQL schemaThis will check that a value is non-null when the type definition says it must be and, it will throwNonNullableFieldWasNullException
if this is not the case.This is the base error that indicates that a non null field value was in fact null.See (https://spec.graphql.org/October2021/#sec-Errors-and-Non-Nullability), but if a non nullable field actually resolves to a null value and the parent type is nullable then the parent must in fact become null so we use exceptions to indicate this special caseThis is thrown if a non nullable value is coerced to a null valueHolds coerced variables, that is their values are now in a normalizedNormalizedInputValue
form.The input map to One Of Input Types MUST only have 1 entry with a non null valueThe input map to One Of Input Types MUST only have 1 entryHolds raw variables, which have not been coerced yet intoCoercedVariables
Allows to customize the concrete classMap
implementation.This class is used to track the number of result nodes that have been created during execution.As a graphql query is executed, each field forms a hierarchical path from parent field to child field and this class represents that path as a series of segments.The standard handling of data fetcher error involves placing aExceptionWhileDataFetching
error into the error collectionAn execution strategy that implements graphql subscriptions by using reactive-streams as the output result of the subscription query.This class is a classic builder style one that SHOULD have been on have been onTypeResolutionEnvironment
but for legacy reasons was not.This is thrown if multiple operations are defined in the query and the operation name is missing or there is no matching operation name contained in the GraphQL query.This is thrown if aTypeResolver
fails to give back a concrete type or provides a type that doesn't implement the given interface or union.A value unboxer takes values that are wrapped in classes likeOptional
/OptionalInt
etc..