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 DataFetchers 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 providedintstatic ExtensionsBuilderstatic ExtensionsBuildernewExtensionsBuilder(ExtensionsMerger extensionsMerger) This creates a new ExtensionsBuilder with the providedExtensionsMergersetExtensions(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
-