Class ScriptingEnvironment
java.lang.Object
org.eximeebpms.bpm.engine.impl.scripting.env.ScriptingEnvironment
The scripting environment contains scripts that provide an environment to a user provided script. The environment may contain additional libraries or imports.
The environment performs lazy initialization of scripts: the first time a script of a given
script language is executed, the environment will use the ScriptEnvResolvers
for resolving the environment scripts for that language. The scripts (if any) are then pre-compiled
and cached for reuse.
- Author:
- Daniel Meyer
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Map
<String, List<ExecutableScript>> the cached environment scripts per script languageprotected List
<ScriptEnvResolver> the resolversprotected ScriptFactory
the script factory used for compiling env scriptsprotected ScriptingEngines
the scripting engines -
Constructor Summary
ConstructorsConstructorDescriptionScriptingEnvironment
(ScriptFactory scriptFactory, List<ScriptEnvResolver> scriptEnvResolvers, ScriptingEngines scriptingEngines) -
Method Summary
Modifier and TypeMethodDescriptionexecute
(ExecutableScript script, VariableScope scope) execute a given script in the environmentexecute
(ExecutableScript script, VariableScope scope, Bindings bindings, ScriptEngine scriptEngine) protected Map
<String, List<ExecutableScript>> protected List
<ExecutableScript> getEnvScripts
(String scriptLanguage) Returns the env scripts for the given language.protected List
<ExecutableScript> getEnvScripts
(ExecutableScript script, ScriptEngine scriptEngine) protected Map
<String, List<ExecutableScript>> protected List
<ExecutableScript> initEnvForLanguage
(String language) Initializes the env scripts for a given language.
-
Field Details
-
Constructor Details
-
ScriptingEnvironment
public ScriptingEnvironment(ScriptFactory scriptFactory, List<ScriptEnvResolver> scriptEnvResolvers, ScriptingEngines scriptingEngines)
-
-
Method Details
-
execute
execute a given script in the environment- Parameters:
script
- theExecutableScript
to executescope
- the scope in which to execute the script- Returns:
- the result of the script evaluation
-
execute
public Object execute(ExecutableScript script, VariableScope scope, Bindings bindings, ScriptEngine scriptEngine) -
getEnv
-
getPaEnvScripts
-
getEnvScripts
-
getEnvScripts
Returns the env scripts for the given language. Performs lazy initialization of the env scripts.- Parameters:
scriptLanguage
- the language- Returns:
- a list of executable environment scripts. Never null.
-
initEnvForLanguage
Initializes the env scripts for a given language.- Parameters:
language
- the language- Returns:
- the list of env scripts. Never null.
-