Describes the context in which an action is being executed.
Holds the execution context for processing a single request. The ExecutionContext is made available to {@link Interceptor} classes that are interleaved with the regular requestprocessing lifecycle.
The ExecutionContext is not populated all at once, but in pieces as the request progresses. Check the accessor method for each item for information on when that item becomes available in the request processing lifecycle.
@author Tim Fennell @since Stripes 1.3Console
...
ExecutionContext instances are {@link Immutable immutable}, so components may hold onto references to them without concern of those contexts changing. Contexts may be used to create other contexts that vary the environment and/or security context. For example, an ExecutionContext could be used to create another context that references the same {@link #getNamespaceRegistry() namespace registry} but which has a different {@link #getSecurityContext() security context}.
ExecutionContext instances are {@link Immutable immutable}, so components may hold onto references to them without concern of those contexts changing. Contexts may be used to create other contexts that vary the environment and/or security context. For example, an ExecutionContext could be used to create another context that references the same {@link #getNamespaceRegistry() namespace registry} but which has a different {@link #getSecurityContext() security context}.
In general, a single ExecutionContext object can be used by only 1 thread at a time. It is OK however for a thread to run a program using an execution context, and then when that run is completed for another thread to use the same execution context to run another program. This provides the ability to share CAF values between multiple executions, even if the further executions are on another thread.
Similarly the state of the execution context cannot be altered by one thread (e.g. changing a debugging flag, etc.) while another thread is using the execution context to run a program.
The execution context is also a holder for debugging status flags that are dependent on an execution.
The execution context holds onto an immutable set of properties which is specified by client code on construction of the execution context, and can be accessed from within CAL. Some well-known properties are defined by the platform (e.g. the current locale).
The execution context can also be used to interrupt an executing CAL program without affecting other concurrently executing CAL programs. @author Bo Ilic
null
value is equivalent to removing the entry for the given key.
@author Lucas Ward
@author Douglas Kaminsky
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|