Releases: FanJiaRui/Simply-Expression-Language
Releases · FanJiaRui/Simply-Expression-Language
release-1.3.0
- 功能补充:
- 支持index模式取MAP节点,用于支持特殊符号节点名,例如req['content-type'],中括号中仅支持字符串格式,例如req[content-type]仍然按数组格式进行解析。
- 提供表达式变量分析工具,ELUtils.getVariants,将表达式传入后分析出该表达式的变量列表
- EL实例树增加访问者接口,方便自定义扩展的EL树实例分析
- 缺陷修复:
- 修复了多维度数组的赋值和取值问题
- 修复根节点为数组时解析失败的问题,现在this[xxx]可以正确被识别为数组
- 优化了表达式方法调用选取重载方法的方式
- 依赖更新:
- 升级fastjson2到2.0.50
release-1.2.0
- 功能补充:
- 通过表达式转换字符串时考虑兼容了byte[]和char[],可以直接转换为字符串
- 优化自定义function注册方式,现在支持将多个不同的类注册到同一个工具名下,通过工具名.方法名(参数表)进行调用,可以使用注解
- 增加了表达式内置的几个function,占用工具名$,例如通过表达式输出日志可以使用$.log(xxx),计算两个数值大小可以使用$.min
- 自定义函数现在可以通过@ELMethod注解来标注优先级、是否跳过注册、是否跳过抛出异常包装、指定function名称等等
- 缺陷修复:
- 给表达式实例缓存增加了限制,避免因为长期大量的动态语句导致缓存占用超标
- 对泛型处理进行了优化,现在可以正常调用一些泛型加在类上的泛型参数方法,例如Map接口子类的put方法
- 依赖更新:
- 升级fastjson2到2.0.49
- 其他
- 由于org域名到期无法续费问题,项目group修改
release-1.1.0
- 支持了if else分支语法
- 支持了for循环两种语法 迭代器模式和类C语言模式
- 支持了for循环内通过break;跳出循环
- 升级fastjson到2.0.42
release-1.0.7
升级fastjson到2.0.40
表达式支持操作JSON类的字符串,增加或者删减其中的属性等
release-1.0.6
升级fastjson到2.0.33
支持了自定义函数/方法功能
release-1.0.5
升级fastjson到2.0.26
排除修改部分后续可能过时的API使用
比较"=="现在支持对数组进行的比较,例如[0,1,2]==[0, 1, 2]计算结果为true
release-1.0.4
支持语法#{xxx}直接取值节点,不进行表达式计算,例如#{Content-Type}计算结果为取上下文Content-Type节点而不是计算两个值相减