public class ScriptingEnvironment extends Object
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.
Modifier and Type | Field and Description |
---|---|
protected Map<String,List<ExecutableScript>> |
env
the cached environment scripts per script language
|
protected List<ScriptEnvResolver> |
envResolvers
the resolvers
|
protected ScriptFactory |
scriptFactory
the script factory used for compiling env scripts
|
protected ScriptingEngines |
scriptingEngines
the scripting engines
|
Constructor and Description |
---|
ScriptingEnvironment(ScriptFactory scriptFactory,
List<ScriptEnvResolver> scriptEnvResolvers,
ScriptingEngines scriptingEngines) |
Modifier and Type | Method and Description |
---|---|
Object |
execute(ExecutableScript script,
VariableScope scope)
execute a given script in the environment
|
Object |
execute(ExecutableScript script,
VariableScope scope,
Bindings bindings,
ScriptEngine scriptEngine) |
protected Map<String,List<ExecutableScript>> |
getEnv(String language) |
protected List<ExecutableScript> |
getEnvScripts(String scriptLanguage)
Returns the env scripts for the given language.
|
protected Map<String,List<ExecutableScript>> |
getPaEnvScripts(ProcessApplicationReference pa) |
protected List<ExecutableScript> |
initEnvForLanguage(String language)
Initializes the env scripts for a given language.
|
protected Map<String,List<ExecutableScript>> env
protected List<ScriptEnvResolver> envResolvers
protected ScriptFactory scriptFactory
protected ScriptingEngines scriptingEngines
public ScriptingEnvironment(ScriptFactory scriptFactory, List<ScriptEnvResolver> scriptEnvResolvers, ScriptingEngines scriptingEngines)
public Object execute(ExecutableScript script, VariableScope scope)
script
- the ExecutableScript
to executescope
- the scope in which to execute the scriptpublic Object execute(ExecutableScript script, VariableScope scope, Bindings bindings, ScriptEngine scriptEngine)
protected Map<String,List<ExecutableScript>> getEnv(String language)
protected Map<String,List<ExecutableScript>> getPaEnvScripts(ProcessApplicationReference pa)
protected List<ExecutableScript> getEnvScripts(String scriptLanguage)
scriptLanguage
- the languageprotected List<ExecutableScript> initEnvForLanguage(String language)
language
- the languageCopyright © 2021. All rights reserved.