Class ScriptingEnvironment
java.lang.Object
org.camunda.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
Modifier 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
ConstructorDescriptionScriptingEnvironment
(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
-
env
the cached environment scripts per script language -
envResolvers
the resolvers -
scriptFactory
the script factory used for compiling env scripts -
scriptingEngines
the scripting engines
-
-
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.
-