前言:
接上篇说到Slot数据元对象后,我们接着聊聊Executable接口
1.Executable 接口
什么是Executable接口?
在我理解来看LiteFlow 把某个节点或者chain(就是某条执行链)都可以当做任意的一个Executable 都理解为一个执行入口。
2.Condition 抽象类
见名知意,Conditon是条件的意思,而在LiteFlow 最常见的就是EL 表达式中的Then 和 When 条件了
那么我们先来说说Then表达式,并且该抽象类还用到了java的模板设计模式,那么只要具体实现
excute方法中的抽象方法即可
3.ThenCondition类
那么这个节点的执行列表是在哪获取的呢?
答案在这里
那么这个executableGroup中的节点又是从哪来的呢?
如果某人没指定key 那么LiteFlow 会为我们默认分配一个Default 的key
通过断点调试,发现是从这个ThenOperator
实际上他的继承关系就是这样子
而就是这个调用了ThenConditon 中的add方法添加到那个刚刚的Map里面去
实际上从ThenOperate中里面构建一个ThenConditon 并且添加到刚刚GroupMap中
并在Condition抽象类中的方法
去调用具体的节点执行对应的
也就是昨天的Node节点的对应的方法