sleep.interfaces
Interface PredicateEnvironment
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.
abstract void | bindPredicate(ScriptInstance si, String typeKeyword, Check condition, Block functionBody) - binds a function (functionName) of a certain type (typeKeyword) to the defined functionBody.
|
bindPredicate
public abstract void bindPredicate(ScriptInstance si,
String typeKeyword,
Check condition,
Block functionBody)
binds a function (functionName) of a certain type (typeKeyword) to the defined functionBody.
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)