This class represents a simple
Variable
implementation with
context-local
values.
Instances of this class can be set independently by multiple-threads
as long as each concurrent thread executes within a
LocalContext
. For example:[code]
public abstract class Engine {
public static final Variable.Global
> RPM
= new Variable.Global>("rpm");
public abstract Function, Amount> getTorque();
}
...
LocalContext.enter();
try {
RPM.set(rpm);
Amount torque = myEngine.getTorque().evaluate();
} finally {
LocalContext.exit();
}[/code]
It should be noted that parameterized evaluations are performed within
a local context. Therefore, the example
above could also be rewritten:[code]
Amount torque = myEngine.getTorque().evaluate(rpm);
[/code]