houzhongjian
2024-12-03 874287a4c02d0a980d8b97c4a691b4f37ec5e812
提交 | 用户 | 时间
e7c126 1 package com.iailab.module.bpm.framework.flowable.core.candidate;
H 2
3 import com.iailab.module.bpm.framework.flowable.core.enums.BpmTaskCandidateStrategyEnum;
4 import org.flowable.engine.delegate.DelegateExecution;
5
6 import java.util.Set;
7
8 /**
9  * BPM 任务的候选人的策略接口
10  *
11  * 例如说:分配审批人
12  *
13  * @author iailab
14  */
15 public interface BpmTaskCandidateStrategy {
16
17     /**
18      * 对应策略
19      *
20      * @return 策略
21      */
22     BpmTaskCandidateStrategyEnum getStrategy();
23
24     /**
25      * 校验参数
26      *
27      * @param param 参数
28      */
29     void validateParam(String param);
30
31     /**
32      * 基于执行任务,获得任务的候选用户们
33      *
34      * @param execution 执行任务
35      * @return 用户编号集合
36      */
37     Set<Long> calculateUsers(DelegateExecution execution, String param);
38
39     /**
40      * 是否一定要输入参数
41      *
42      * @return 是否
43      */
44     default boolean isParamRequired() {
45         return true;
46     }
47
48 }