Class SubProcessRecord

java.lang.Object
com.codingapi.flow.domain.SubProcessRecord

public class SubProcessRecord extends Object
子流程节点的一次执行记录(聚合根)。

一个子流程节点(SUB_PROCESS)每次执行时创建一条记录,内部实例列表 instances 记录本次创建的全部子流程实例。当全部实例结束且结果脚本确认通过时置为 SubProcessRecord.State.PASSED 并恢复主流程;全部实例结束但结果未通过时置为 SubProcessRecord.State.ERROR 并跳转异常节点。

  • Constructor Details

    • SubProcessRecord

      public SubProcessRecord(String groupId, FlowRecord parentRecord, String nodeId, List<SubProcessRecord.Instance> instances)
      创建子流程执行记录,初始状态为等待子流程结果。
      Parameters:
      groupId - 本次子流程执行的分组id
      parentRecord - 父流程中子流程节点的执行记录
      nodeId - 父流程中子流程节点的节点id
      instances - 本次创建的子流程实例
  • Method Details

    • containsChildProcess

      public boolean containsChildProcess(String processId)
      判断本次执行是否包含指定子流程。
      Parameters:
      processId - 子流程的流程id
      Returns:
      包含返回 true;否则返回 false
    • complete

      public boolean complete(FlowRecord finalRecord)
      完成一个子流程实例。

      将指定子流程实例标记为最终状态(正常结束或终止),并记录结束时间。

      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

      public List<Long> findFinishedRecordIds()
      查找全部已结束实例的最终记录id。
      Returns:
      已结束实例的最终记录id列表