Java 代码委托使用的公共上下文库 class 是什么?

What is the common context base class used by Java code delegates?

Java 代码委托使用的公共基础 class 是什么,以便公共代码可用于 get/set 处理变量等?

对于服务任务,流程引擎上下文 class 是 DelegateExecution,通常,要获取流程变量,此上下文作为参数传递用于访问流程变量。

...
public class CreatePurchaseOrderRequistionDelegate implements JavaDelegate
{
   public void execute( DelegateExecution execution ) throws Exception
   {
      LOGGER.info( getClass().getSimpleName() + ": starting" );

      String purchaseOrderRef = (String) execution.getVariable( "purchaseOrderReference" );
...

对于用户任务事件侦听器,上下文 class 是 DelegateTask

我想使用相同的代码来 get/set 处理变量,因此需要一个可以访问 setVariable() 等的基础 class

我看过 Camunda 手册、Java文档等,但两个 classes 都继承自许多其他 classes 并且很难追踪继承树。

应该是: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;
   }

希望对您有所帮助!