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 variables = new ArrayList(); variables.add(Variable.createVariable(“用户名”, args[0])); //执行表达式 Object result = ExpressionEvaluator.evaluate(expression, variables); System.out.println(“Result = ” + result); }