Package com.codingapi.flow.domain
Class SubProcessRecord
java.lang.Object
com.codingapi.flow.domain.SubProcessRecord
子流程节点的一次执行记录(聚合根)。
一个子流程节点(SUB_PROCESS)每次执行时创建一条记录,内部实例列表 instances
记录本次创建的全部子流程实例。当全部实例结束且结果脚本确认通过时置为 SubProcessRecord.State.PASSED
并恢复主流程;全部实例结束但结果未通过时置为 SubProcessRecord.State.ERROR 并跳转异常节点。
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class子流程实例。static enum子流程实例状态。static enum子流程节点执行的聚合状态。 -
Constructor Summary
ConstructorsConstructorDescriptionSubProcessRecord(String groupId, FlowRecord parentRecord, String nodeId, List<SubProcessRecord.Instance> instances) 创建子流程执行记录,初始状态为等待子流程结果。 -
Method Summary
Modifier and TypeMethodDescriptionbooleancomplete(FlowRecord finalRecord) 完成一个子流程实例。booleancontainsChildProcess(String processId) 判断本次执行是否包含指定子流程。voiderror()标记本次执行异常:全部实例结束但结果未通过时跳转异常节点。查找全部已结束实例的最终记录id。boolean是否全部子流程实例已结束(正常结束或终止)。booleanisError()是否已异常(结果未通过,已跳转异常节点)。booleanisPassed()是否已通过(结果脚本确认通过,主流程已恢复)。boolean是否仍处于等待子流程结果状态。voidpass()标记本次执行通过:结果脚本确认后恢复主流程。
-
Constructor Details
-
SubProcessRecord
public SubProcessRecord(String groupId, FlowRecord parentRecord, String nodeId, List<SubProcessRecord.Instance> instances) 创建子流程执行记录,初始状态为等待子流程结果。- Parameters:
groupId- 本次子流程执行的分组idparentRecord- 父流程中子流程节点的执行记录nodeId- 父流程中子流程节点的节点idinstances- 本次创建的子流程实例
-
-
Method Details
-
containsChildProcess
判断本次执行是否包含指定子流程。- Parameters:
processId- 子流程的流程id- Returns:
- 包含返回 true;否则返回 false
-
complete
完成一个子流程实例。将指定子流程实例标记为最终状态(正常结束或终止),并记录结束时间。
- Parameters:
finalRecord- 子流程的最终执行记录- Returns:
- 实例存在且处于运行中并完成时返回 true;否则返回 false
-
isAllFinished
public boolean isAllFinished()是否全部子流程实例已结束(正常结束或终止)。 -
isWaiting
public boolean isWaiting()是否仍处于等待子流程结果状态。 -
isPassed
public boolean isPassed()是否已通过(结果脚本确认通过,主流程已恢复)。 -
isError
public boolean isError()是否已异常(结果未通过,已跳转异常节点)。 -
pass
public void pass()标记本次执行通过:结果脚本确认后恢复主流程。 -
error
public void error()标记本次执行异常:全部实例结束但结果未通过时跳转异常节点。 -
findFinishedRecordIds
查找全部已结束实例的最终记录id。- Returns:
- 已结束实例的最终记录id列表
-