org.camunda.bpm.engine.impl.scripting.env
Class ScriptingEnvironment

java.lang.Object
  extended by org.camunda.bpm.engine.impl.scripting.env.ScriptingEnvironment

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.

Author:
Daniel Meyer

Field Summary
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 Summary
ScriptingEnvironment(ScriptFactory scriptFactory, List<ScriptEnvResolver> scriptEnvResolvers, ScriptingEngines scriptingEngines)
           
 
Method Summary
 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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

env

protected Map<String,List<ExecutableScript>> env
the cached environment scripts per script language


envResolvers

protected List<ScriptEnvResolver> envResolvers
the resolvers


scriptFactory

protected ScriptFactory scriptFactory
the script factory used for compiling env scripts


scriptingEngines

protected ScriptingEngines scriptingEngines
the scripting engines

Constructor Detail

ScriptingEnvironment

public ScriptingEnvironment(ScriptFactory scriptFactory,
                            List<ScriptEnvResolver> scriptEnvResolvers,
                            ScriptingEngines scriptingEngines)
Method Detail

execute

public Object execute(ExecutableScript script,
                      VariableScope scope)
execute a given script in the environment

Parameters:
script - the ExecutableScript to execute
scope - 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

protected Map<String,List<ExecutableScript>> getEnv(String language)

getPaEnvScripts

protected Map<String,List<ExecutableScript>> getPaEnvScripts(ProcessApplicationReference pa)

getEnvScripts

protected List<ExecutableScript> getEnvScripts(String scriptLanguage)
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

protected List<ExecutableScript> initEnvForLanguage(String language)
Initializes the env scripts for a given language.

Parameters:
language - the language
Returns:
the list of env scripts. Never null.


Copyright © 2017 camunda services GmbH. All rights reserved.