Flowable-6.7.2 源码注释地址:https://github.com/solojin/flowable-6.7.2-annotated
ScriptTaskActivityBehavior 脚本任务活动行为类
/**
* 脚本任务活动行为类
*
* BPMN 2.0脚本任务的实现。
*
* @author Joram Barrez
* @author Christian Stettler
* @author Falko Menge
*/
public class ScriptTaskActivityBehavior extends TaskActivityBehavior {
private static final long serialVersionUID = 1L;
private static final Logger LOGGER = LoggerFactory.getLogger(ScriptTaskActivityBehavior.class);
protected String scriptTaskId;
protected String script;
protected String language;
protected String resultVariable;
protected String skipExpression;
protected boolean storeScriptVariables; // 参考 https://activiti.atlassian.net/browse/ACT-1626
public ScriptTaskActivityBehavior(String script, String language, String resultVariable) {
this.script = script;
this.language = language;
this.resultVariable = resultVariable;
}
public ScriptTaskActivityBehavior(String scriptTaskId, String script, String language, String resultVariable, String skipExpression,
boolean storeScriptVariables) {
this(script, language, resultVariable);
this.scriptTaskId = scriptTaskId;
this.skipExpression = skipExpression;
this.storeScriptVariables = storeScriptVariables;
}
@Override
public void execute(DelegateExecution execution) {
CommandContext commandContext = CommandContextUtil.getCommandContext();
boolean isSkipExpressionEnabled = SkipExpressionUtil.isSkipExpressionEnabled(skipExpression, scriptTaskId, execution, commandContext);
if (isSkipExpressionEnabled && SkipExpressionUtil.shouldSkipFlowElement(skipExpression, scriptTaskId, execution, commandContext)) {
leave(execution);
return;
}