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; }
}
}