Class ScriptingEngines
- java.lang.Object
-
- org.camunda.bpm.engine.impl.scripting.engine.ScriptingEngines
-
- All Implemented Interfaces:
DmnScriptEngineResolver
public class ScriptingEngines extends Object implements DmnScriptEngineResolver
Manager for JSR-223
ScriptEngine
handling.Resolving a script engine: This class supports resolving a script engine for a given 'language name' (eg. 'groovy'). If the configuration option
enableScriptEngineCaching
is set to true, the class will attempt to cache 'cachable' script engines. We assume aScriptEngine
is 'cachable' if it declares to be threadsafe (see#isCachable(ScriptEngine)
)Custom Bindings: this class supports custom
Bindings
implementations through thescriptBindingsFactory
. SeeScriptBindingsFactory
.- Author:
- Tom Baeyens, Daniel Meyer
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_JS_SCRIPTING_LANGUAGE
static String
DEFAULT_SCRIPTING_LANGUAGE
static String
ECMASCRIPT_SCRIPTING_LANGUAGE
protected boolean
enableScriptEngineCaching
static String
GRAAL_JS_SCRIPT_ENGINE_NAME
static String
GROOVY_SCRIPTING_LANGUAGE
static String
JAVASCRIPT_SCRIPTING_LANGUAGE
protected ScriptBindingsFactory
scriptBindingsFactory
protected ScriptEngineResolver
scriptEngineResolver
-
Constructor Summary
Constructors Constructor Description ScriptingEngines(ScriptBindingsFactory scriptBindingsFactory, ScriptEngineResolver scriptEngineResolver)
ScriptingEngines(ScriptEngineResolver scriptEngineResolver)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ScriptingEngines
addScriptEngineFactory(ScriptEngineFactory scriptEngineFactory)
Bindings
createBindings(ScriptEngine scriptEngine, VariableScope variableScope)
override to build a spring aware ScriptingEnginesprotected ScriptEngine
getGlobalScriptEngine(String language)
protected ScriptEngine
getPaScriptEngine(String language, ProcessApplicationReference pa)
ScriptBindingsFactory
getScriptBindingsFactory()
ScriptEngine
getScriptEngineForLanguage(String language)
Loads the given script engine by language name.ScriptEngineManager
getScriptEngineManager()
boolean
isEnableScriptEngineCaching()
void
setEnableScriptEngineCaching(boolean enableScriptEngineCaching)
void
setScriptBindingsFactory(ScriptBindingsFactory scriptBindingsFactory)
void
setScriptEngineResolver(ScriptEngineResolver scriptEngineResolver)
-
-
-
Field Detail
-
DEFAULT_SCRIPTING_LANGUAGE
public static final String DEFAULT_SCRIPTING_LANGUAGE
- See Also:
- Constant Field Values
-
GROOVY_SCRIPTING_LANGUAGE
public static final String GROOVY_SCRIPTING_LANGUAGE
- See Also:
- Constant Field Values
-
JAVASCRIPT_SCRIPTING_LANGUAGE
public static final String JAVASCRIPT_SCRIPTING_LANGUAGE
- See Also:
- Constant Field Values
-
ECMASCRIPT_SCRIPTING_LANGUAGE
public static final String ECMASCRIPT_SCRIPTING_LANGUAGE
- See Also:
- Constant Field Values
-
GRAAL_JS_SCRIPT_ENGINE_NAME
public static final String GRAAL_JS_SCRIPT_ENGINE_NAME
- See Also:
- Constant Field Values
-
DEFAULT_JS_SCRIPTING_LANGUAGE
public static final String DEFAULT_JS_SCRIPTING_LANGUAGE
- See Also:
- Constant Field Values
-
scriptEngineResolver
protected ScriptEngineResolver scriptEngineResolver
-
scriptBindingsFactory
protected ScriptBindingsFactory scriptBindingsFactory
-
enableScriptEngineCaching
protected boolean enableScriptEngineCaching
-
-
Constructor Detail
-
ScriptingEngines
public ScriptingEngines(ScriptBindingsFactory scriptBindingsFactory, ScriptEngineResolver scriptEngineResolver)
-
ScriptingEngines
public ScriptingEngines(ScriptEngineResolver scriptEngineResolver)
-
-
Method Detail
-
isEnableScriptEngineCaching
public boolean isEnableScriptEngineCaching()
-
setEnableScriptEngineCaching
public void setEnableScriptEngineCaching(boolean enableScriptEngineCaching)
-
getScriptEngineManager
public ScriptEngineManager getScriptEngineManager()
-
addScriptEngineFactory
public ScriptingEngines addScriptEngineFactory(ScriptEngineFactory scriptEngineFactory)
-
getScriptEngineForLanguage
public ScriptEngine getScriptEngineForLanguage(String language)
Loads the given script engine by language name. Will throw an exception if no script engine can be loaded for the given language name.- Specified by:
getScriptEngineForLanguage
in interfaceDmnScriptEngineResolver
- Parameters:
language
- the name of the script language to lookup an implementation for- Returns:
- the script engine
- Throws:
ProcessEngineException
- if no such engine can be found.
-
getPaScriptEngine
protected ScriptEngine getPaScriptEngine(String language, ProcessApplicationReference pa)
-
getGlobalScriptEngine
protected ScriptEngine getGlobalScriptEngine(String language)
-
createBindings
public Bindings createBindings(ScriptEngine scriptEngine, VariableScope variableScope)
override to build a spring aware ScriptingEngines- Parameters:
engineBindin
-scriptEngine
-
-
getScriptBindingsFactory
public ScriptBindingsFactory getScriptBindingsFactory()
-
setScriptBindingsFactory
public void setScriptBindingsFactory(ScriptBindingsFactory scriptBindingsFactory)
-
setScriptEngineResolver
public void setScriptEngineResolver(ScriptEngineResolver scriptEngineResolver)
-
-