mldong/jeeflow-core/parser does not have a README file

    EdgeModel

    pub(all) struct EdgeModel {
    id : String
    source_node_id : String
    target_node_id : String
    label : String?
    properties : Map[String, Json]
    } derive(Eq)

    EdgeModel::expr

    fn EdgeModel::expr(self : EdgeModel) -> String?

    EdgeModel::source_node_id

    fn EdgeModel::source_node_id(self : EdgeModel) -> String

    EdgeModel::target_node_id

    fn EdgeModel::target_node_id(self : EdgeModel) -> String

    NodeModel

    pub(all) struct NodeModel {
    id : String
    node_type : NodeType
    display_name : String
    properties : Map[String, Json]
    } derive(Eq)

    NodeModel::assignee

    fn NodeModel::assignee(self : NodeModel) -> String?

    固定参与人

    NodeModel::assignment_handler

    fn NodeModel::assignment_handler(self : NodeModel) -> String?

    动态参与人 handler 名

    NodeModel::candidate_groups

    fn NodeModel::candidate_groups(self : NodeModel) -> String?

    NodeModel::candidate_users

    fn NodeModel::candidate_users(self : NodeModel) -> String?

    NodeModel::countersign_completion_condition

    fn NodeModel::countersign_completion_condition(self : NodeModel) -> String?

    会签完成条件(顶层属性优先,field 子对象兜底)

    NodeModel::countersign_type

    fn NodeModel::countersign_type(self : NodeModel) -> String

    NodeModel::expr

    fn NodeModel::expr(self : NodeModel) -> String?

    NodeModel::field_permissions

    fn NodeModel::field_permissions(self : NodeModel) -> Map[String, Int]

    字段权限(PERMISSION_* → 1 只读/2 可编辑/3 隐藏,C19)

    NodeModel::form_key

    fn NodeModel::form_key(self : NodeModel) -> String?

    NodeModel::is_countersign

    fn NodeModel::is_countersign(self : NodeModel) -> Bool

    NodeModel::perform_type

    fn NodeModel::perform_type(self : NodeModel) -> Int

    会签类型(C4 容错:数字 1/'1'/'ALL'/'COUNTERSIGN' 均认会签,其余 0)

    NodeModel::prop_i64

    fn NodeModel::prop_i64(self : NodeModel, key : String) -> Int64?

    NodeModel::prop_str

    fn NodeModel::prop_str(self : NodeModel, key : String) -> String?

    NodeModel::sub_process_name

    fn NodeModel::sub_process_name(self : NodeModel) -> String?

    NodeModel::task_type

    fn NodeModel::task_type(self : NodeModel) -> Int

    NodeType

    pub(all) enum NodeType {
    Start
    Task
    Decision
    Fork
    Join
    End
    Custom
    SubProcess
    } derive(Eq, Show)

    8 节点类型

    NodeType::as_str

    fn NodeType::as_str(self : NodeType) -> String

    NodeType::from_snaker_type

    fn NodeType::from_snaker_type(t : String) -> NodeType

    ProcessModel

    pub(all) struct ProcessModel {
    name : String
    display_name : String
    model_type : String
    expire_time : String?
    persist_mode : String?
    rel_table_name : String?
    nodes : Array[NodeModel]
    edges : Array[EdgeModel]
    } derive(Eq)

    ProcessModel::get_end_nodes

    fn ProcessModel::get_end_nodes(self : ProcessModel) -> Array[NodeModel]

    ProcessModel::get_first_task_node

    fn ProcessModel::get_first_task_node(self : ProcessModel) -> NodeModel?

    start 后第一个任务节点

    ProcessModel::get_input_edges

    fn ProcessModel::get_input_edges(self : ProcessModel, node_id : String) -> Array[EdgeModel]

    ProcessModel::get_node

    fn ProcessModel::get_node(self : ProcessModel, id : String) -> NodeModel?

    ProcessModel::get_nodes_by_type

    fn ProcessModel::get_nodes_by_type(self : ProcessModel, t : NodeType) -> Array[NodeModel]

    ProcessModel::get_output_edges

    fn ProcessModel::get_output_edges(self : ProcessModel, node_id : String) -> Array[EdgeModel]

    ProcessModel::get_start

    fn ProcessModel::get_start(self : ProcessModel) -> NodeModel?

    ProcessModel::get_target_node

    fn ProcessModel::get_target_node(self : ProcessModel, edge : EdgeModel) -> NodeModel?

    ProcessModel::is_first_task_node

    fn ProcessModel::is_first_task_node(self : ProcessModel, node_id : String) -> Bool

    parse_model

    fn parse_model(json_str : String) -> ProcessModel raise
    JeeflowError

    LogicFlow JSON → ProcessModel

    Source Files