Class JavaScriptingDataTransformer
- java.lang.Object
-
- org.jbpm.process.core.transformation.JavaScriptingDataTransformer
-
- All Implemented Interfaces:
org.kie.api.runtime.process.DataTransformer
public class JavaScriptingDataTransformer extends Object implements org.kie.api.runtime.process.DataTransformer
Implementation ofDataTransformer
that is based on standard Java scripting capabilities (javax.script). By default it uses Rhino scripting engine for JavaScript evaluation. But supports all scripting engine that are compliant with JSR 223. It's just a matter of placing them on classpath so Java itself can discover it and then new instance of this class will be registered for that engine.
Allows to pass custom properties to the engine via property file that should be placed on root of the classpath named 'FQCN of the script engine factory'.properties
When reading the properties file transformer recognizes three types of data:- boolean - when value is either true or false string
- integer - when value is a number (matches \d+ regex)
- string - default type
- value returned from scriptEngine.eval if not null
- result of the output produced by the script engine - will be used only when eval returns null
-
-
Constructor Summary
Constructors Constructor Description JavaScriptingDataTransformer(ScriptEngineFactory factory)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
compile(String expression, Map<String,Object> parameters)
protected Object
evaluateExpression(Object expression, Map<String,Object> parameters)
protected void
registerAttributes()
Object
transform(Object expression, Map<String,Object> parameters)
-
-
-
Constructor Detail
-
JavaScriptingDataTransformer
public JavaScriptingDataTransformer(ScriptEngineFactory factory)
-
-
Method Detail
-
transform
public Object transform(Object expression, Map<String,Object> parameters)
- Specified by:
transform
in interfaceorg.kie.api.runtime.process.DataTransformer
-
compile
public Object compile(String expression, Map<String,Object> parameters)
- Specified by:
compile
in interfaceorg.kie.api.runtime.process.DataTransformer
-
evaluateExpression
protected Object evaluateExpression(Object expression, Map<String,Object> parameters)
-
registerAttributes
protected void registerAttributes()
-
-