jBPM distribution 6.2.0.CR4

org.jbpm.process.core.transformation
Class JavaScriptingDataTransformer

java.lang.Object
  extended by org.jbpm.process.core.transformation.JavaScriptingDataTransformer
All Implemented Interfaces:
DataTransformer

public class JavaScriptingDataTransformer
extends Object
implements DataTransformer

Implementation of DataTransformer 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:

return value of the expression is either:


Constructor Summary
JavaScriptingDataTransformer(ScriptEngineFactory factory)
           
 
Method Summary
 Object compile(String expression, Map<String,Object> parameters)
          Compiles given expression into reusable unit.
protected  Object evaluateExpression(Object expression, Map<String,Object> parameters)
           
protected  void registerAttributes()
           
 Object transform(Object expression, Map<String,Object> parameters)
          Transforms the given expression object (might be compiled expression) using parameters as contextual information (aka bindings) used during evaluation of the expression.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JavaScriptingDataTransformer

public JavaScriptingDataTransformer(ScriptEngineFactory factory)
Method Detail

transform

public Object transform(Object expression,
                        Map<String,Object> parameters)
Description copied from interface: DataTransformer
Transforms the given expression object (might be compiled expression) using parameters as contextual information (aka bindings) used during evaluation of the expression.

Specified by:
transform in interface DataTransformer
Parameters:
expression - expression to evaluate
parameters - binding parameters
Returns:
result of the evaluation

compile

public Object compile(String expression,
                      Map<String,Object> parameters)
Description copied from interface: DataTransformer
Compiles given expression into reusable unit. This is optional operation and in case it's not supported by given transformed it should return the same expression that was given in the input. If compilation is supported a compiled instance of the expression should be returned.

Specified by:
compile in interface DataTransformer
Parameters:
expression - language specific expression
parameters - parameters e.g. imports defined in the process
Returns:
compiled expression instance or same as given as argument expression

evaluateExpression

protected Object evaluateExpression(Object expression,
                                    Map<String,Object> parameters)

registerAttributes

protected void registerAttributes()

jBPM distribution 6.2.0.CR4

Copyright © 2001-2015 JBoss by Red Hat. All Rights Reserved.