org.camunda.bpm.engine.impl.scripting.engine
Class ScriptingEngines

java.lang.Object
  extended by org.camunda.bpm.engine.impl.scripting.engine.ScriptingEngines
All Implemented Interfaces:
org.camunda.bpm.dmn.engine.impl.spi.el.DmnScriptEngineResolver

public class ScriptingEngines
extends Object
implements org.camunda.bpm.dmn.engine.impl.spi.el.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 a ScriptEngine is 'cachable' if it declares to be threadsafe (see #isCachable(ScriptEngine))

Custom Bindings: this class supports custom Bindings implementations through the scriptBindingsFactory. See ScriptBindingsFactory.

Author:
Tom Baeyens, Daniel Meyer

Field Summary
static String DEFAULT_SCRIPTING_LANGUAGE
           
protected  boolean enableScriptEngineCaching
           
static String GROOVY_SCRIPTING_LANGUAGE
           
protected  ScriptBindingsFactory scriptBindingsFactory
           
protected  ScriptEngineResolver scriptEngineResolver
           
 
Constructor Summary
ScriptingEngines(ScriptBindingsFactory scriptBindingsFactory)
           
ScriptingEngines(ScriptEngineManager scriptEngineManager)
           
 
Method Summary
 ScriptingEngines addScriptEngineFactory(ScriptEngineFactory scriptEngineFactory)
           
 Bindings createBindings(ScriptEngine scriptEngine, VariableScope variableScope)
          override to build a spring aware ScriptingEngines
protected  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)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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

scriptEngineResolver

protected ScriptEngineResolver scriptEngineResolver

scriptBindingsFactory

protected ScriptBindingsFactory scriptBindingsFactory

enableScriptEngineCaching

protected boolean enableScriptEngineCaching
Constructor Detail

ScriptingEngines

public ScriptingEngines(ScriptBindingsFactory scriptBindingsFactory)

ScriptingEngines

public ScriptingEngines(ScriptEngineManager scriptEngineManager)
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 interface org.camunda.bpm.dmn.engine.impl.spi.el.DmnScriptEngineResolver
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)


Copyright © 2015 camunda services GmbH. All rights reserved.