Fixflow表达式编辑器原理及使用说明

Fixflow,做中国最好的开源流程引擎!项目地址https://github.com/fixteam/fixflow

 

        Fifxflow表达式编辑器使用说明

        Fixflow使用groovy或beanShell作为动态表达式语言,编辑器只是为了方便用户编辑这些动态语言,真正处理的还是groovy的解释器。groovy是一种类java的动态语言,java的语法基本都支持,并且有自己的简易语法,如果不了解它,那就把它当成java,按照java语法来写代码。

 

        打一个比喻,流程信息界面的任务主题,我可以理解为,可以把文本框看成private String getSubject(){ return null;}打开表达式编辑器后就相当于在编辑{}里面的方法体,你方法体里面有什么内容,fixflow并不管,你可以在方法体里面执行数据库语句,可以执行任何java代码。fixflow只关心最后一行的return "任务主题",只要返回我需要的类型String即可。

注:groovy的语法,会将最后一行作为返回值,所以你写“任务主题” ,groovy就会解释成return "任务主题"。

 

        再如跳过策略,private boolean getSkip(){return false;},我不管你里面是调用java代码也好,查询数据库也好,我只关心最后return true还是return false;

 

        至于为什么processInfo.getInitiator()这种为什么会认识,是因为为了方便,fixflow默认将ExecutionContext类的实现放到了解释器里面,详细参考GroovyScriptLanguageMgmtImpl.java  128行

// 绑定变量
if (executionContext != null) {
    groovyShell.setVariable("processInfo", executionContext);
}

 

 

所以也就是说ExecutionContext接口里面的任何方法均可以用processInfo.get***()来取。了解原理后,自己也可以扩展变量。

总结:不要把它看那么神秘,就是一个简单的文本编辑器,用来编辑java代码而已,最多会智能提示,真正解释的是groovy的解释器。了解它的原理,以后就可以简单的使用它了。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值