IK Expression表达式解析执行器
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);
}