IK Expression表达式解析执行器

联合创作 · 2023-09-28 21:51

IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。

IK Expression V2.0不依赖于任何第三方的java库。它做为一个简单的jar,可以集成于任意的Java应用中。这包括了JavaEE应用(基于应用服务器的), Java桌面应用以及Java WebStart方式的应用。

IK Expression最初诞生的原因是为了能增强工作流引擎,如jBPM等对流程配置的灵活度。使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件 进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。

同EL和BeanScript不同,IK Expression的设计目标是面向最终用户的,因此它被设计成语法简单(像数学算式),通俗易懂(支持中文变量及函数名)但功能有限的解析引擎。如果 你需要一个功能强大的表达式引擎,也许IK Expression并不是最好的选择。

IK Expression 组件结构图

代码示例:

/**
 * Hello World Example
 * @param args
 */
public static void main(String[] args){
    if(args.length == 0){
        args = new String[1];
        args[0] = "IK Expression";
    }
    //定义表达式
    String expression = "\"Hello World \" + 用户名";
    //给表达式中的变量userName付上下文的值
    List<Variable> variables = new ArrayList<Variable>();
    variables.add(Variable.createVariable("用户名", args[0]));
    //执行表达式
    Object result = ExpressionEvaluator.evaluate(expression, variables);
    System.out.println("Result = " + result);       
}

浏览 9
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报