- 1、本文档共19页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
IKExpressionV20简易表达式解析器使用说明.doc
oIKExpressionV2.0简易表达式解析器
使用说明
目录
1. IK表达式介绍(IK Expression Introduction) 2
2. 快速入门(Quick Start) 5
3. 表达式公式规范(Expression Formula Specification) 8
4. 高级特性(Advance) 15
1. IK表达式介绍(IK Expression Introduction)
IK Expression是一个开源的(OpenSource),可扩展的(Extensible),基于java语言开发的一个超轻量级(Super lightweight)的公式化语言解析执行工具包。
IK ExpressionV2.0不依赖于任何第三方的java库。它做为一个简单的jar,可以集成于任意的Java应用中。这包括了JavaEE应用(基于应用服务器的), Java桌面应用以及Java WebStart方式的应用。
IK Expression最初诞生的原因是为了能增强工作流引擎,如jBPM等对流程配置的灵活度。使其能在流程运行期获得同配置期一样灵活地对执行逻辑条件进行变更。经过扩展后的IK Expression还可以适用于各种常规业务系统的动态条件配置,如需要图形化配置应用的场合,或是模拟Excel电子表格的公式运算的场景。
同EL和BeanScript不同,IK Expression的设计目标是面向最终用户的,因此它被设计成语法简单(像数学算式),通俗易懂(支持中文变量及函数名)但功能有限的解析引擎。如果你需要一个功能强大的表达式引擎,也许IK Expression并不是最好的选择。
1.1 概要(OverView)
IK Expression是一个采用逆波兰式算法结合指针栈优化的公式解析引擎,它由表达式编译、、表达式执行、变量容器、以及函数配置管理四部分构成。它具有以下特点:
支持基础运算符+ - × / % 逻辑运算符! || 三元运算符?:以及特有的#集合运算。支持括号优先级,对,||,?:有短路优化处理。
支持函数执行,函数扩展,支持变量定义。
完整Jar包大小90K,API简单易学,超轻量级,无第三方类库依赖。
IK Expression 组件结构图
1.2 升级变更(Changes Log)
相对于V1.0的变更:
增加了“?:“三元操作符。
增强了“+“操作符,支持对null型,Date型,Boolean型的连接操作。
增加了自定义函数扩展,支持配置方式扩展函数和API编码方式扩展函数。
增加了函数别名映射功能,可配置中文函数别名。
增加了函数参数和返回值对java Object类型的支持。
优化“||”、“”、“?:“操作符,实现相应逻辑的短路处理。
修订了Date类型的==比较逻辑。原有逻辑判定时间差小于1秒为相等,现在更正为精确到秒。
修订了==比较逻辑对数值类型运算的bug,使其支持Integer,Float,Long,Double类型的混合比较,以及当这四种类型混合比较时,其中一个参数为null的情况。
修改了V1.0中类Variable的方法createVariable的参数。
废除了V1.0中的“:“操作符(使用“?:“三元操作符代替)
废除了V1.0中类ExpressionEvaluator的compileExpression方法。
2. 快速入门(Quick Start)
2.1 下载(Downloadables Overview)
GoogleCode开源项目 :/p/ik-expression/
GoogleCode SVN下载:/svn/trunk/
2.2 安装部署
IK Expression 的安装部署十分简单,安装包包含:
使用说明文档(即本文档)
IKExpression2.0.jar
functionConfig.xml
其中,IKExpression2.0.jar部署于项目的lib目录中;functionConfig.xml(函数定义配置)文件放置在代码根目录(对于web项目,通常是WEB-INF/classes目录,同hibernate、log4j等配置文件相同)下即可。
2.3 API简易教程(API Tutorial)
代码样例
HelloWorld /**
* 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 W
文档评论(0)