类 ModelUtils

java.lang.Object
cn.jrack.flowable.utils.ModelUtils

public class ModelUtils extends Object
作者:
KonBAI
  • 构造器概要

    构造器
    构造器
    说明
     
  • 方法概要

    修饰符和类型
    方法
    说明
    static List<org.flowable.bpmn.model.UserTask>
    findNextUserTasks(org.flowable.bpmn.model.FlowElement source)
    查找起始节点下一个用户任务列表列表
    static List<org.flowable.bpmn.model.UserTask>
    findNextUserTasks(org.flowable.bpmn.model.FlowElement source, Set<String> hasSequenceFlow, List<org.flowable.bpmn.model.UserTask> userTaskList)
    查找起始节点下一个用户任务列表列表
    static Collection<org.flowable.bpmn.model.UserTask>
    getAllUserTaskEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements, Collection<org.flowable.bpmn.model.UserTask> allElements)
    获取所有用户任务节点
    static Collection<org.flowable.bpmn.model.UserTask>
    getAllUserTaskEvent(org.flowable.bpmn.model.BpmnModel model)
    获取所有用户任务节点
    static org.flowable.bpmn.model.BpmnModel
    xml转bpmnModel对象
    static byte[]
    getBpmnXml(org.flowable.bpmn.model.BpmnModel bpmnModel)
    已过时。
    存在丢失 bpmn 连线问题
    static String
    getBpmnXmlStr(org.flowable.bpmn.model.BpmnModel bpmnModel)
    已过时。
    存在会丢失 bpmn 连线问题
    static String
    getElementAttributeValue(org.flowable.bpmn.model.BaseElement baseElement, String name)
    获取元素属性值
    static List<org.flowable.bpmn.model.SequenceFlow>
    getElementIncomingFlows(org.flowable.bpmn.model.FlowElement source)
    根据节点,获取入口连线
    static List<org.flowable.bpmn.model.SequenceFlow>
    getElementOutgoingFlows(org.flowable.bpmn.model.FlowElement source)
    根据节点,获取出口连线
    static org.flowable.bpmn.model.EndEvent
    getEndEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements)
    获取结束节点
    static org.flowable.bpmn.model.EndEvent
    getEndEvent(org.flowable.bpmn.model.BpmnModel model)
    获取结束节点
    static String
    getEndEventAttributeValue(org.flowable.bpmn.model.BpmnModel model, String name)
    获取结束节点属性值
    static org.flowable.bpmn.model.FlowElement
    getFlowElementById(org.flowable.bpmn.model.BpmnModel model, String flowElementId)
    获取流程元素信息
    static String
    getFormKey(org.flowable.bpmn.model.FlowElement flowElement)
    获取元素表单Key(限开始节点和用户节点可用)
    static org.flowable.bpmn.model.StartEvent
    getStartEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements)
    获取开始节点
    static org.flowable.bpmn.model.StartEvent
    getStartEvent(org.flowable.bpmn.model.BpmnModel model)
    获取开始节点
    static String
    getStartEventAttributeValue(org.flowable.bpmn.model.BpmnModel model, String name)
    获取开始节点属性值
    static String
    getUserTaskAttributeValue(org.flowable.bpmn.model.BpmnModel model, String taskKey, String name)
    获取用户任务节点属性值
    static org.flowable.bpmn.model.UserTask
    getUserTaskByKey(org.flowable.bpmn.model.BpmnModel model, String taskKey)
     
    protected static boolean
    isInEventSubprocess(org.flowable.bpmn.model.FlowElement flowElement)
     
    static boolean
    isMultiInstance(org.flowable.bpmn.model.BpmnModel model, String taskKey)
     
    static boolean
    isSequentialReachable(org.flowable.bpmn.model.FlowElement source, org.flowable.bpmn.model.FlowElement target, Set<String> visitedElements)
    迭代从后向前扫描,判断目标节点相对于当前节点是否是串行 不存在直接回退到子流程中的情况,但存在从子流程出去到父流程情况

    从类继承的方法 java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 构造器详细资料

    • ModelUtils

      public ModelUtils()
  • 方法详细资料

    • getBpmnModel

      public static org.flowable.bpmn.model.BpmnModel getBpmnModel(String xml)
      xml转bpmnModel对象
      参数:
      xml - xml
      返回:
      bpmnModel对象
    • getBpmnXmlStr

      @Deprecated public static String getBpmnXmlStr(org.flowable.bpmn.model.BpmnModel bpmnModel)
      已过时。
      存在会丢失 bpmn 连线问题
      bpmnModel转xml字符串
      参数:
      bpmnModel - bpmnModel对象
      返回:
      xml字符串
    • getBpmnXml

      @Deprecated public static byte[] getBpmnXml(org.flowable.bpmn.model.BpmnModel bpmnModel)
      已过时。
      存在丢失 bpmn 连线问题
      bpmnModel转xml对象
      参数:
      bpmnModel - bpmnModel对象
      返回:
      xml
    • getElementIncomingFlows

      public static List<org.flowable.bpmn.model.SequenceFlow> getElementIncomingFlows(org.flowable.bpmn.model.FlowElement source)
      根据节点,获取入口连线
      参数:
      source - 起始节点
      返回:
      入口连线列表
    • getElementOutgoingFlows

      public static List<org.flowable.bpmn.model.SequenceFlow> getElementOutgoingFlows(org.flowable.bpmn.model.FlowElement source)
      根据节点,获取出口连线
      参数:
      source - 起始节点
      返回:
      出口连线列表
    • getStartEvent

      public static org.flowable.bpmn.model.StartEvent getStartEvent(org.flowable.bpmn.model.BpmnModel model)
      获取开始节点
      参数:
      model - bpmnModel对象
      返回:
      开始节点(未找到开始节点,返回null)
    • getStartEvent

      public static org.flowable.bpmn.model.StartEvent getStartEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements)
      获取开始节点
      参数:
      flowElements - 流程元素集合
      返回:
      开始节点(未找到开始节点,返回null)
    • getEndEvent

      public static org.flowable.bpmn.model.EndEvent getEndEvent(org.flowable.bpmn.model.BpmnModel model)
      获取结束节点
      参数:
      model - bpmnModel对象
      返回:
      结束节点(未找到开始节点,返回null)
    • getEndEvent

      public static org.flowable.bpmn.model.EndEvent getEndEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements)
      获取结束节点
      参数:
      flowElements - 流程元素集合
      返回:
      结束节点(未找到开始节点,返回null)
    • getUserTaskByKey

      public static org.flowable.bpmn.model.UserTask getUserTaskByKey(org.flowable.bpmn.model.BpmnModel model, String taskKey)
    • getFlowElementById

      public static org.flowable.bpmn.model.FlowElement getFlowElementById(org.flowable.bpmn.model.BpmnModel model, String flowElementId)
      获取流程元素信息
      参数:
      model - bpmnModel对象
      flowElementId - 元素ID
      返回:
      元素信息
    • getFormKey

      public static String getFormKey(org.flowable.bpmn.model.FlowElement flowElement)
      获取元素表单Key(限开始节点和用户节点可用)
      参数:
      flowElement - 元素
      返回:
      表单Key
    • getStartEventAttributeValue

      public static String getStartEventAttributeValue(org.flowable.bpmn.model.BpmnModel model, String name)
      获取开始节点属性值
      参数:
      model - bpmnModel对象
      name - 属性名
      返回:
      属性值
    • getEndEventAttributeValue

      public static String getEndEventAttributeValue(org.flowable.bpmn.model.BpmnModel model, String name)
      获取结束节点属性值
      参数:
      model - bpmnModel对象
      name - 属性名
      返回:
      属性值
    • getUserTaskAttributeValue

      public static String getUserTaskAttributeValue(org.flowable.bpmn.model.BpmnModel model, String taskKey, String name)
      获取用户任务节点属性值
      参数:
      model - bpmnModel对象
      taskKey - 任务Key
      name - 属性名
      返回:
      属性值
    • getElementAttributeValue

      public static String getElementAttributeValue(org.flowable.bpmn.model.BaseElement baseElement, String name)
      获取元素属性值
      参数:
      baseElement - 流程元素
      name - 属性名
      返回:
      属性值
    • isMultiInstance

      public static boolean isMultiInstance(org.flowable.bpmn.model.BpmnModel model, String taskKey)
    • getAllUserTaskEvent

      public static Collection<org.flowable.bpmn.model.UserTask> getAllUserTaskEvent(org.flowable.bpmn.model.BpmnModel model)
      获取所有用户任务节点
      参数:
      model - bpmnModel对象
      返回:
      用户任务节点列表
    • getAllUserTaskEvent

      public static Collection<org.flowable.bpmn.model.UserTask> getAllUserTaskEvent(Collection<org.flowable.bpmn.model.FlowElement> flowElements, Collection<org.flowable.bpmn.model.UserTask> allElements)
      获取所有用户任务节点
      参数:
      flowElements - 流程元素集合
      allElements - 所有流程元素集合
      返回:
      用户任务节点列表
    • findNextUserTasks

      public static List<org.flowable.bpmn.model.UserTask> findNextUserTasks(org.flowable.bpmn.model.FlowElement source)
      查找起始节点下一个用户任务列表列表
      参数:
      source - 起始节点
      返回:
      结果
    • findNextUserTasks

      public static List<org.flowable.bpmn.model.UserTask> findNextUserTasks(org.flowable.bpmn.model.FlowElement source, Set<String> hasSequenceFlow, List<org.flowable.bpmn.model.UserTask> userTaskList)
      查找起始节点下一个用户任务列表列表
      参数:
      source - 起始节点
      hasSequenceFlow - 已经经过的连线的 ID,用于判断线路是否重复
      userTaskList - 用户任务列表
      返回:
      结果
    • isSequentialReachable

      public static boolean isSequentialReachable(org.flowable.bpmn.model.FlowElement source, org.flowable.bpmn.model.FlowElement target, Set<String> visitedElements)
      迭代从后向前扫描,判断目标节点相对于当前节点是否是串行 不存在直接回退到子流程中的情况,但存在从子流程出去到父流程情况
      参数:
      source - 起始节点
      target - 目标节点
      visitedElements - 已经经过的连线的 ID,用于判断线路是否重复
      返回:
      结果
    • isInEventSubprocess

      protected static boolean isInEventSubprocess(org.flowable.bpmn.model.FlowElement flowElement)