Represents an opaque type that consists of a key-value pair which can be used to set multiple keys in the context.
Retrieve the current definition of a key, but only if it is defined in the current request-local context.
Bind multiple key-value pairs.
Bind multiple key-value pairs. Keys later in the collection take precedent over keys earlier in the collection.
Bind two keys and values in the scope of fn.
Bind value to key in the scope of fn.
Unbind the passed-in keys, in the scope of fn.
Unbind the passed-in key, in the scope of fn.
Clears all bindings in the scope of fn.
Clears all bindings in the scope of fn.
For example:
context.let(Key1, "value1") { context.let(Key2, "something else") { context.letClearAll { // context.contains(Key1) == false // context.contains(Key2) == false } // context(Key1) == "value1" // context(Key2) == "something else" } }
Retrieve the current definition of a key.
Retrieve the current definition of a key.
NoSuchElementException when the key is undefined
in the current request-local context.
Tells whether key is defined in the current request-local
context.
Retrieve the current definition of a key if it is defined.
Retrieve the current definition of a key if it is defined.
If it is not defined, orElse is evaluated and returned.
A context contains a number of let-delimited bindings. Bindings are indexed by type Key[A] in a typesafe manner. Later bindings shadow earlier ones.
Note that the implementation of context maintains all bindings in a linked list; context lookup requires a linear search.