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;
}
希望对您有所帮助!
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;
}
希望对您有所帮助!