Class Variable.Global<X>

  • All Implemented Interfaces:
    javolution.lang.Reference<X>, Variable<X>
    Enclosing interface:
    Variable<X>

    public static class Variable.Global<X>
    extends Object
    implements Variable<X>
    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]
    • Constructor Detail

      • Global

        public Global​(String symbol)
        Creates a new global variable with a unique symbol.
        Parameters:
        symbol - the variable symbol.
    • Method Detail

      • getSymbol

        public String getSymbol()
        Description copied from interface: Variable
        Returns the symbol for this variable.
        Specified by:
        getSymbol in interface Variable<X>
        Returns:
        this variable's symbol.
      • get

        public X get()
        Specified by:
        get in interface javolution.lang.Reference<X>
      • set

        public void set​(X arg0)
        Specified by:
        set in interface javolution.lang.Reference<X>