An environment with key
bound to value
; lookups for other keys
are forwarded to next
.
An environment with key
bound to value
; lookups for other keys
are forwarded to next
.
An environment without key
.
An environment without key
. Lookups for other keys
are forwarded to next.
Keys in MarshalledContext must provide a marshaller and unmarshaller.
Concatenate two environments with left-hand side precedence.
Concatenate two environments with left-hand side precedence.
A translucent environment is capable of storing key/value pairs to be (possibly) unmarshalled later.
An Unmarshaller gradually builds up an environment from a set of (id, value) pairs.
An empty environment.
An empty environment. No keys are present.
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.
Tells whether key
is defined in the current request-local
context.
Retrieve the current definition of a key, but only if it is defined in the current request-local context.
Retrieve the current definition of a key, but only if it is defined in the current request-local context.
Bind two keys and values in the scope of fn
.
Bind two keys and values in the scope of fn
.
Bind value
to key
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 keys, in the scope of fn
.
Store into the current environment a set of marshalled
bindings and run fn
.
Store into the current environment a set of marshalled
bindings and run fn
. Bindings are unmarshalled on demand.
Marshal the current environment into a set of (id, value) pairs.
Marshal the env
into a set of (id, value) pairs.
Produce an environment consisting of the given marshalled (id, value) pairs.
Produce an environment consisting of the given marshalled (id, value) pairs. They are unmarshalled on demand.
A marshalled context contains bindings that may be marshalled and sent across process boundaries. A set of marshalled bindings may be restored in the local environment. Thus we can use marshalled contexts to propagate a set of bindings across a whole request tree.