sleep.runtime
public class ScriptVariables extends Object implements Serializable
Set/Get a Variable without Parsing
script.getScriptVariables().putScalar("$var", SleepUtils.getScalar("value"));
The ScriptVariables object is the entry point for installing variables into a script's runtime environment. The above example illustrates how to set a variable named $var to a specified Scalar value.
Scalar value = script.getScriptVariables().getScalar("$var");
The code above illustrates how to retrieve a Scalar named $var from a script instance object.
Sleep has 3 levels of scope. They are (in order of precedence):
See Also: Scalar ScriptInstance Variable
Constructor Summary | |
---|---|
ScriptVariables() Initializes this ScriptVariables container using a DefaultVariable object for default variable storage | |
ScriptVariables(Variable aVariableClass) Initializes this class with your version of variable storage |
Method Summary | |
---|---|
Variable | getClosureVariables() returns the current closure variable scope |
Variable | getClosureVariables(SleepClosure closure) returns the closure level variables for this specific script environment |
Variable | getGlobalVariables() returns the global variable scope |
Variable | getLocalVariables() returns the current local variable scope |
Scalar | getScalar(String key) retrieves a scalar |
Scalar | getScalar(String key, ScriptInstance i) Returns the specified scalar, looking at each scope in order. |
Variable | getScalarLevel(String key, ScriptInstance i) retrieves the appropriate Variable container that has the specified key. |
void | popClosureLevel() discards the current closure variable scope |
void | popLocalLevel() discards the current local variable scope, making the previous local scope the current local scope again |
void | pushClosureLevel(Variable variables) pushes the specified variables into this closures level, once the closure has executed this should be popped |
void | pushLocalLevel(Variable localVariables) makes the specified variable container active for the local scope. once the code that is using this has finished, it really should be popped. |
void | pushLocalLevel() starts a new local variable scope. once the code that is using this has finished, it should be popped |
void | putScalar(String key, Scalar value) puts a scalar into the global scope |
void | setClosureVariables(SleepClosure closure, Variable variables) returns the closure level variables for this specific script environment |
void | setScalarLevel(String key, Scalar value, Variable level) Puts the specified scalar in a specific scope |
Parameters: level the Variable container from the scope we want to store this scalar in.