Java代码委托使用的通用基类是什么,以便可以使用通用代码获取/设置过程变量等?
对于服务任务,流程引擎上下文类为DelegateExecution
,通常为了获取流程变量,使用作为参数传递的上下文来访问流程变量。
...
public class CreatePurchaseOrderRequistionDelegate implements JavaDelegate
{
public void execute( DelegateExecution execution ) throws Exception
{
LOGGER.info( getClass().getSimpleName() + ": starting" );
String purchaseOrderRef = (String) execution.getVariable( "purchaseOrderReference" );
...
对于用户任务事件侦听器,上下文类为DelegateTask
。
我想使用相同的代码来获取/设置过程变量,因此需要一个可以访问setVariable()等的基类。
我看过《 Camunda手册》,Javadocs等,但是这两个类都是从许多其他类继承的,因此很难跟踪继承树。
答案 0 :(得分:2)
应为:org.camunda.bpm.engine.delegate.VariableScope
类似这样:
public static String getVariableS( VariableScope execution, String variableName, String defaultValue ) throws Exception
{
Object obj = execution.getVariable( variableName );
if( obj == null )
{
return defaultValue;
}
return (String) obj;
}
希望这会有所帮助!