sleep.interfaces
public interface PredicateEnvironment
Predicate environments are similar to normal keyword environments except instead of binding commands to an identifier they are bound to a predicate condition.
In general the sleep syntax for declaring a predicate environment is:
keyword (condition) { commands; }
Script predicate environment bridge keywords should be registered with the script parser before any scripts are loaded. This can be accomplished as follows:
ParserConfig.addKeyword("keyword");
To install a new predicate environment into the script environment:
ScriptInstance script; // assume Environment myEnvironmentBridge; // assume Hashtable environment = script.getScriptEnvironment().getEnvironment(); environment.put("keyword", myEnvironmentBridge);
Predicate environments are a powerful way to create environments that are triggered selectively. Predicate environments can also be used to add new constructs to the sleep language such as an unless (comparison) { } construct.
See Also: Environment addKeyword
Method Summary | |
---|---|
abstract void | bindPredicate(ScriptInstance si, String typeKeyword, Check condition, Block functionBody)
binds a function (functionName) of a certain type (typeKeyword) to the defined functionBody.
|
Parameters: typeKeyword the keyword for the function. (i.e. sub) condition the condition under which this can / should be executed. functionBody the compiled body of the function (i.e. code to add 2 numbers)