using Serein.Library.Entity; using Serein.Library.Enums; using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Serein.Library.Base { public abstract class NodeBase { /// /// 节点类型 /// public abstract NodeControlType ControlType { get; set; } /// /// 方法描述,对应DLL的方法 /// public abstract MethodDetails MethodDetails { get; set; } /// /// 节点guid /// public abstract string Guid { get; set; } /// /// 显示名称 /// public abstract string DisplayName { get; set; } /// /// 是否为起点控件 /// public abstract bool IsStart { get; set; } /// /// 运行时的上一节点 /// public abstract NodeBase PreviousNode { get; set; } /// /// 上一节点集合 /// public abstract List PreviousNodes { get; set; } /// /// 下一节点集合(真分支) /// public abstract List SucceedBranch { get; set; } /// /// 下一节点集合(假分支) /// public abstract List FailBranch { get; set; } /// /// 异常分支 /// public abstract List ErrorBranch { get; set; } /// /// 上游分支 /// public abstract List UpstreamBranch { get; set; } /// /// 当前执行状态(进入真分支还是假分支,异常分支在异常中确定) /// public abstract FlowStateType FlowState { get; set; } /// /// 运行时的异常信息(仅在 FlowState 为 Error 时存在对应值) /// public abstract Exception RuningException { get; set; } /// /// 当前传递数据(执行了节点对应的方法,才会存在值) /// public abstract object FlowData { get; set; } } }