Package graphql
Class GraphQLContext
java.lang.Object
graphql.GraphQLContext
This context object can be used to contain key values that can be useful as "context" when executing
DataFetcher
s
DataFetcher df = new DataFetcher() {
public Object get(DataFetchingEnvironment env) {
GraphQLContext ctx = env.getGraphqlContext()
User currentUser = ctx.getOrDefault("userKey",new AnonymousUser())
...
}
}
You can set this up via ExecutionInput.getGraphQLContext()
All keys and values in the context MUST be non null.
The class is mutable via a thread safe implementation but it is recommended to try to use this class in an immutable way if you can.-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescription<T> T
compute
(Object key, BiFunction<Object, ? super T, ? extends T> remappingFunction) Attempts to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping).<T> T
computeIfAbsent
(Object key, Function<Object, ? extends T> mappingFunction) If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null.<T> T
computeIfPresent
(Object key, BiFunction<Object, ? super T, ? extends T> remappingFunction) If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value.Deletes a key in the contextboolean
<T> T
Returns a value in the context by keyboolean
getBoolean
(Object key) This returns true if the value at the specified key is equal toBoolean.TRUE
boolean
getBoolean
(Object key, Boolean defaultValue) This returns true if the value at the specified key is equal toBoolean.TRUE
or the default value if the key is missingstatic GraphQLContext
<T> T
getOrDefault
(Object key, T defaultValue) Returns a value in the context by key<T> Optional
<T> getOrEmpty
(Object key) Returns aOptional
value in the context by keyint
hashCode()
boolean
Returns true if the context contains a value for that keystatic GraphQLContext.Builder
Creates a new GraphqlContext builderstatic GraphQLContext
of
(Consumer<GraphQLContext.Builder> contextBuilderConsumer) Creates a new GraphqlContext with the map of context added to itstatic GraphQLContext
Creates a new GraphqlContext with the map of context added to itPuts a value into the contextputAll
(GraphQLContext context) Puts all of the values into the contextputAll
(GraphQLContext.Builder contextBuilder) Puts all of the values into the contextputAll
(Consumer<GraphQLContext.Builder> contextBuilderConsumer) Puts all of the values into the contextPuts all of the values into the contextstream()
toString()
-
Method Details
-
delete
Deletes a key in the context- Parameters:
key
- the key to delete- Returns:
- this GraphQLContext object
-
get
Returns a value in the context by key- Type Parameters:
T
- for two- Parameters:
key
- the key to look up- Returns:
- a value or null
-
getOrDefault
Returns a value in the context by key- Type Parameters:
T
- for two- Parameters:
key
- the key to look updefaultValue
- the default value to use if these is no key entry- Returns:
- a value or default value
-
getOrEmpty
Returns aOptional
value in the context by key- Type Parameters:
T
- for two- Parameters:
key
- the key to look up- Returns:
- a value or an empty optional value
-
getBoolean
This returns true if the value at the specified key is equal toBoolean.TRUE
- Parameters:
key
- the key to look up- Returns:
- true if the value is equal to
Boolean.TRUE
-
getBoolean
This returns true if the value at the specified key is equal toBoolean.TRUE
or the default value if the key is missing- Parameters:
key
- the key to look updefaultValue
- the value to use if the key is not present- Returns:
- true if the value is equal to
Boolean.TRUE
-
hasKey
Returns true if the context contains a value for that key- Parameters:
key
- the key to lookup- Returns:
- true if there is a value for that key
-
put
Puts a value into the context- Parameters:
key
- the key to setvalue
- the new value (which not must be null)- Returns:
- this
GraphQLContext
object
-
putAll
Puts all of the values into the context- Parameters:
map
- the map of values to use- Returns:
- this
GraphQLContext
object
-
putAll
Puts all of the values into the context- Parameters:
context
- the other context to use- Returns:
- this
GraphQLContext
object
-
putAll
Puts all of the values into the context- Parameters:
contextBuilder
- the other context to use- Returns:
- this
GraphQLContext
object
-
putAll
Puts all of the values into the context- Parameters:
contextBuilderConsumer
- a call back to that gives out a builder to use- Returns:
- this
GraphQLContext
object
-
compute
Attempts to compute a mapping for the specified key and its current mapped value (or null if there is no current mapping).- Type Parameters:
T
- for two- Parameters:
key
- key with which the specified value is to be associatedremappingFunction
- the function to compute a value- Returns:
- the new value associated with the specified key, or null if none
-
computeIfAbsent
If the specified key is not already associated with a value (or is mapped to null), attempts to compute its value using the given mapping function and enters it into this map unless null.- Type Parameters:
T
- for two- Parameters:
key
- key with which the specified value is to be associatedmappingFunction
- the function to compute a value- Returns:
- the current (existing or computed) value associated with the specified key, or null if the computed value is null
-
computeIfPresent
public <T> T computeIfPresent(Object key, BiFunction<Object, ? super T, ? extends T> remappingFunction) If the value for the specified key is present and non-null, attempts to compute a new mapping given the key and its current mapped value.- Type Parameters:
T
- for two- Parameters:
key
- key with which the specified value is to be associatedremappingFunction
- the function to compute a value- Returns:
- the new value associated with the specified key, or null if none
-
stream
- Returns:
- a stream of entries in the context
-
equals
-
hashCode
public int hashCode() -
toString
-
of
Creates a new GraphqlContext with the map of context added to it- Parameters:
mapOfContext
- the map of context value to use- Returns:
- the new GraphqlContext
-
of
Creates a new GraphqlContext with the map of context added to it- Parameters:
contextBuilderConsumer
- a callback that is given a new builder- Returns:
- the new GraphqlContext
-
getDefault
- Returns:
- a new and empty graphql context object
-
newContext
Creates a new GraphqlContext builder- Returns:
- the new builder
-