一共89個接口
1.啟動流程實例(20個方法)
//使用給定的鍵在流程定義的最新版本中啟動一個新的流程實例。
ProcessInstance startProcessInstanceByKey(String processDefinitionKey);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, Map<String, Object> variables);
//同上
ProcessInstance startProcessInstanceByKey(String processDefinitionKey, String businessKey, Map<String, Object> variables);
//類似於{ @link # startProcessInstanceByKey(String)},但是使用一個特定的租戶標識符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String tenantId);
//類似於{ @link # startProcessInstanceByKey(String String)},但是使用一個特定的租戶標識符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, String tenantId);
//類似於{ @link # startProcessInstanceByKey(String Map)},但是使用一個特定的租戶標識符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, Map<String, Object> variables, String tenantId);
//類似於{ @link # startProcessInstanceByKey(String String Map)},但是使用一個特定的租戶標識符。
ProcessInstance startProcessInstanceByKeyAndTenantId(String processDefinitionKey, String businessKey, Map<String, Object> variables, String tenantId);
//使用給定的id在流程定義的精確指定版本中啟動一個新的流程實例。
ProcessInstance startProcessInstanceById(String processDefinitionId);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, Map<String, Object> variables);
//同上
ProcessInstance startProcessInstanceById(String processDefinitionId, String businessKey, Map<String, Object> variables);
//表示接收到消息的流程引擎並啟動一個新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName);
//類似於{ @link RuntimeService # startProcessInstanceByMessage(String)},但是有租戶上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String tenantId);
//表示接收到消息的流程引擎並啟動一個新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey);
//類似於{ @link RuntimeService # startProcessInstanceByMessage(String,String)},但是有租戶上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, String tenantId);
//表示接收到消息的流程引擎並啟動一個新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, Map<String, Object> processVariables);
//類似於{ @link RuntimeService # startProcessInstanceByMessage(String,Map)},但是有租戶上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, Map<String, Object> processVariables, String tenantId);
//表示接收到消息的流程引擎並啟動一個新的{@link ProcessInstance}。
ProcessInstance startProcessInstanceByMessage(String messageName, String businessKey, Map<String, Object> processVariables);
//類似於{ @link RuntimeService # startProcessInstanceByMessage(String,String,Map)},但是有租戶上下文。
ProcessInstance startProcessInstanceByMessageAndTenantId(String messageName, String businessKey, Map<String, Object> processVariables, String tenantId);
2.刪除流程實例(1個方法)
//刪除現有的運行時流程實例。
void deleteProcessInstance(String processInstanceId, String deleteReason);
3.查找活動id(1個方法)
//查找在活動中等待的所有執行的活動id。
這是一個列表,因為單個活動可以多次活動。
List<String> getActiveActivityIds(String executionId);
4.添加外部觸發器(2個方法)
//將一個外部觸發器發送到正在執行的活動實例中。
void signal(String executionId);
//同上
void signal(String executionId, Map<String, Object> processVariables);
5.更新業務秘鑰(1個方法)
//更新提供的流程實例的業務密鑰。
void updateBusinessKey(String processInstanceId, String businessKey);
6.用戶(用戶組)的鏈接標識操作(添加4個,刪除4個,獲取1個)
//涉及一個具有流程實例的用戶。
身份鏈接的類型由給定的身份鏈接類型定義。
void addUserIdentityLink(String processInstanceId, String userId, String identityLinkType);
//涉及一個具有流程實例的用戶組。
身份鏈接的類型由給定的身份鏈接類型定義。
void addGroupIdentityLink(String processInstanceId, String groupId, String identityLinkType);
//{@link #addUserIdentityLink(String、String、String)}的便利簡寫;
有一個類型{ @link IdentityLinkType #候選人}
void addParticipantUser(String processInstanceId, String userId);
//{@link #addGroupIdentityLink(String, String, String)}的遍歷簡寫
void addParticipantGroup(String processInstanceId, String groupId);
//{@link #deleteUserIdentityLink(String, String, String)}的遍歷簡寫
void deleteParticipantUser(String processInstanceId, String userId);
//{@link #deleteGroupIdentityLink(String, String, String)}的遍歷簡寫
void deleteParticipantGroup(String processInstanceId, String groupId);
//刪除用戶與給定身份鏈接類型的流程實例之間的關聯。
void deleteUserIdentityLink(String processInstanceId, String userId, String identityLinkType);
//刪除一個組與給定的標識鏈接類型的流程實例之間的關聯。
void deleteGroupIdentityLink(String processInstanceId, String groupId, String identityLinkType);
//檢索與給定流程實例關聯的{@link IdentityLink}。
這樣的{@link IdentityLink}通知某個用戶是如何參與流程實例的。
List<IdentityLink> getIdentityLinksForProcessInstance(String instanceId);
7.獲取變量(所有變量(包含父范圍的4個,不包含父范圍的3個),給定變量(包含父范圍的3個,不包含父范圍的3個)單個變量(3個))
//從給定的執行范圍(包括父范圍)可見的所有變量。
Map<String, Object> getVariables(String executionId);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId);
// 同上
List<VariableInstance> getVariableInstancesByExecutionIds(Set<String> executionIds);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, String locale, boolean withLocalizationFallback);
//在執行范圍內定義的所有變量值,不考慮外部作用域。
如果您有許多任務局部變量,而且只需要一些,請考慮使用{@link #getVariablesLocal(String, Collection)}來獲得更好的性能。
Map<String, Object> getVariablesLocal(String executionId);
//在執行范圍內定義的所有變量值,不考慮外部作用域。
如果您有許多任務局部變量,你只需要一些,考慮使用{ @link # getVariableInstancesLocal(String, Collection)}獲得更好的性能。
Map<String, VariableInstance> getVariableInstancesLocal(String executionId);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, String locale, boolean withLocalizationFallback);
//所有給定變量的變量值,將所有變量都考慮在內,從給定的執行范圍(包括父作用域)可以看到。
Map<String, Object> getVariables(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstances(String executionId, Collection<String> variableNames, String locale, boolean withLocalizationFallback);
//給定變量的變量值只考慮給定的執行范圍,而不考慮外部作用域。
Map<String, Object> getVariablesLocal(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, Collection<String> variableNames);
//同上
Map<String, VariableInstance> getVariableInstancesLocal(String executionId, Collection<String> variableNames, String locale, boolean withLocalizationFallback);
//變量的值。
搜索變量是在給定的執行(包括父范圍)可見的所有范圍內完成的。
當在給定的名稱或值設置為null時,沒有發現變量值,返回null。
Object getVariable(String executionId, String variableName);
//同上
VariableInstance getVariableInstance(String executionId, String variableName);
//變量的值。
搜索變量是在給定的執行(包括父范圍)可見的所有范圍內完成的。
當在給定的名稱或值設置為null時,沒有發現變量值,返回null。
拋出ClassCastException時,不能將變量轉換為給定的類。
<T> T getVariable(String executionId, String variableName, Class<T> variableClass);
8.檢測變量(1個)
//檢查該執行是否具有給定名稱的變量集,在給定的執行(包括父作用域)可見的所有范圍內搜索該變量。
boolean hasVariable(String executionId, String variableName);
9.獲取執行的變量值(4個)
//執行的變量值。
當變量為執行設置(而不是搜索父范圍)時返回值。
當在給定的名稱或值設置為null時,沒有發現變量值,返回null。
Object getVariableLocal(String executionId, String variableName);
//同上
VariableInstance getVariableInstanceLocal(String executionId, String variableName);
//同上
VariableInstance getVariableInstanceLocal(String executionId, String variableName, String locale, boolean withLocalizationFallback);
//同上
<T> T getVariableLocal(String executionId, String variableName, Class<T> variableClass);
10.檢測變量
//檢查這個執行是否有一個帶有給定名稱的本地變量集。
boolean hasVariableLocal(String executionId, String variableName);
11.變量更新創建(有更新,無創建)4個 刪除4個
//為執行更新或創建一個變量。
void setVariable(String executionId, String variableName, Object value);
//為執行更新或創建一個變量(不考慮父范圍)。
如果變量不是已經存在,那么它將在給定的執行中創建。
void setVariableLocal(String executionId, String variableName, Object value);
//為執行(包括父范圍)更新或創建給定的變量。
void setVariables(String executionId, Map<String, ? extends Object> variables);
//為執行更新或創建給定的變量(不考慮父范圍)。
如果變量不是已經存在的,那么它將在給定的執行中創建。
void setVariablesLocal(String executionId, Map<String, ? extends Object> variables);
//為執行移除一個變量。
void removeVariable(String executionId, String variableName);
//同上(不考慮父范圍)
void removeVariableLocal(String executionId, String variableName);
//同上(考慮父范圍)
void removeVariables(String executionId, Collection<String> variableNames);
//同上(不考慮父范圍)
void removeVariablesLocal(String executionId, Collection<String> variableNames);
12.創建執行查詢
//創建一個新的{@link ExecutionQuery}實例,該實例可以用於查詢執行和流程實例。
ExecutionQuery createExecutionQuery();
//創建一個新的{@link NativeExecutionQuery},可以直接通過SQL查詢{@link Execution}。
NativeExecutionQuery createNativeExecutionQuery();
//創建一個新的{@link ProcessInstanceQuery}實例,該實例可以用於查詢流程實例。
ProcessInstanceQuery createProcessInstanceQuery();
//創建一個新的{@link NativeProcessInstanceQuery } {@link ProcessInstance }年代直接通過SQL查詢
NativeProcessInstanceQuery createNativeProcessInstanceQuery();
13.流程實例(掛起1個,激活1個,通知11個)
//用給定的id掛起流程實例。
void suspendProcessInstanceById(String processInstanceId);
//用給定的id激活流程實例。
void activateProcessInstanceById(String processInstanceId);
//通知流程引擎,接收到一個名為“signalName”的信號事件。
該方法將信號傳遞給等待信號的所有執行。
void signalEventReceived(String signalName);
//同上 但有租戶的上下文。
void signalEventReceivedWithTenantId(String signalName, String tenantId);
//通知流程引擎,接收到一個名為“signalName”的信號事件。
該方法將信號傳遞給等待信號的所有執行。
void signalEventReceivedAsync(String signalName);
//同上 但有租戶的上下文。
void signalEventReceivedAsyncWithTenantId(String signalName, String tenantId);
//通知流程引擎,接收到一個名為“signalName”的信號事件。
該方法將信號傳遞給等待信號的所有執行。
void signalEventReceived(String signalName, Map<String, Object> processVariables);
//同上 但有租戶的上下文。
void signalEventReceivedWithTenantId(String signalName, Map<String, Object> processVariables, String tenantId);
//通知流程引擎,接收到一個名為“signalName”的信號事件。
該方法將信號傳遞給單個執行,即由“executionId”引用的執行。
等待執行被同步通知。
void signalEventReceived(String signalName, String executionId);
//同上
void signalEventReceived(String signalName, String executionId, Map<String, Object> processVariables);
//同上(異步)
void signalEventReceivedAsync(String signalName, String executionId);
//通知流程引擎,接收到名為“messageName”的消息事件,並與id“executionId”執行關聯。
void messageEventReceived(String messageName, String executionId);
//同上
void messageEventReceived(String messageName, String executionId, Map<String, Object> processVariables);
//同上異步
void messageEventReceivedAsync(String messageName, String executionId);
14.監聽器(添加2個,移除1個,分派1個)
//添加一個事件監聽器,它將被分派器通知所有事件。
void addEventListener(ActivitiEventListener listenerToAdd);
//添加一個事件監聽器,它只會在事件發生時被通知,該事件類型在給定類型中。
void addEventListener(ActivitiEventListener listenerToAdd, ActivitiEventType... types);
//從這個分派器中移除給定的偵聽器。
偵聽器將不再被通知,無論它在第一個位置注冊的類型是什么。
void removeEventListener(ActivitiEventListener listenerToRemove);
//將給定事件分派給注冊的任何偵聽器。
void dispatchEvent(ActivitiEvent event);
//用給定的id設置流程實例的名稱。
void setProcessInstanceName(String processInstanceId, String name);
//獲取所有與給定流程實例相關的事件。
List<Event> getProcessInstanceEvents(String processInstanceId);
//創建一個ProcessInstanceBuilder
ProcessInstanceBuilder createProcessInstanceBuilder();
轉自https://www.cnblogs.com/liuqing576598117/p/9815033.html