Package graphql.extensions
Class ExtensionsBuilder
java.lang.Object
graphql.extensions.ExtensionsBuilder
This class can be used to help build the graphql `extensions` map. A series of changes to the extensions can
be added and these will be merged together via a
ExtensionsMerger
implementation and that resultant
map can be used as the `extensions`
The engine will place a ExtensionsBuilder
into the GraphQLContext
(if one is not manually placed there)
and hence DataFetcher
s can use it to build up extensions progressively.
At the end of the execution, the ExtensionsBuilder
will be used to build a graphql `extensions` map that
is placed in the ExecutionResult
-
Method Summary
Modifier and TypeMethodDescriptionAdds a single new value into the extension builderAdds new values into the extension builderThis builds an extensions map from this builder, merging together the values providedint
static ExtensionsBuilder
static ExtensionsBuilder
newExtensionsBuilder
(ExtensionsMerger extensionsMerger) This creates a new ExtensionsBuilder with the providedExtensionsMerger
setExtensions
(ExecutionResult executionResult) This sets new extensions into the providedExecutionResult
, overwriting any previous values
-
Method Details
-
newExtensionsBuilder
- Returns:
- a new ExtensionsBuilder using a default merger
-
newExtensionsBuilder
This creates a new ExtensionsBuilder with the providedExtensionsMerger
- Parameters:
extensionsMerger
- the merging code to use- Returns:
- a new ExtensionsBuilder using the provided merger
-
getChangeCount
public int getChangeCount()- Returns:
- how many extension changes have been made so far
-
addValues
Adds new values into the extension builder- Parameters:
newValues
- the new values to add- Returns:
- this builder for fluent style reasons
-
addValue
Adds a single new value into the extension builder- Parameters:
key
- the key in the extensionsvalue
- the value in the extensions- Returns:
- this builder for fluent style reasons
-
buildExtensions
This builds an extensions map from this builder, merging together the values provided- Returns:
- a new extensions map
-
setExtensions
This sets new extensions into the providedExecutionResult
, overwriting any previous values- Parameters:
executionResult
- the result to set these extensions into- Returns:
- a new ExecutionResult with the extensions values in this builder
-