Skip to content

Releases: FanJiaRui/Simply-Expression-Language

release-1.3.0

23 May 09:10
Compare
Choose a tag to compare
  • 功能补充:
  1. 支持index模式取MAP节点,用于支持特殊符号节点名,例如req['content-type'],中括号中仅支持字符串格式,例如req[content-type]仍然按数组格式进行解析。
  2. 提供表达式变量分析工具,ELUtils.getVariants,将表达式传入后分析出该表达式的变量列表
  3. EL实例树增加访问者接口,方便自定义扩展的EL树实例分析
  • 缺陷修复:
  1. 修复了多维度数组的赋值和取值问题
  2. 修复根节点为数组时解析失败的问题,现在this[xxx]可以正确被识别为数组
  3. 优化了表达式方法调用选取重载方法的方式
  • 依赖更新:
  1. 升级fastjson2到2.0.50

release-1.2.0

11 May 01:45
Compare
Choose a tag to compare
  • 功能补充:
  1. 通过表达式转换字符串时考虑兼容了byte[]和char[],可以直接转换为字符串
  2. 优化自定义function注册方式,现在支持将多个不同的类注册到同一个工具名下,通过工具名.方法名(参数表)进行调用,可以使用注解
  3. 增加了表达式内置的几个function,占用工具名$,例如通过表达式输出日志可以使用$.log(xxx),计算两个数值大小可以使用$.min
  4. 自定义函数现在可以通过@ELMethod注解来标注优先级、是否跳过注册、是否跳过抛出异常包装、指定function名称等等
  • 缺陷修复:
  1. 给表达式实例缓存增加了限制,避免因为长期大量的动态语句导致缓存占用超标
  2. 对泛型处理进行了优化,现在可以正常调用一些泛型加在类上的泛型参数方法,例如Map接口子类的put方法
  • 依赖更新:
  1. 升级fastjson2到2.0.49
  • 其他
  1. 由于org域名到期无法续费问题,项目group修改

release-1.1.0

28 Nov 02:57
Compare
Choose a tag to compare
  • 支持了if else分支语法
  • 支持了for循环两种语法 迭代器模式和类C语言模式
  • 支持了for循环内通过break;跳出循环
  • 升级fastjson到2.0.42

release-1.0.7

26 Sep 02:45
Compare
Choose a tag to compare

升级fastjson到2.0.40
表达式支持操作JSON类的字符串,增加或者删减其中的属性等

release-1.0.6

07 Jun 07:45
Compare
Choose a tag to compare

升级fastjson到2.0.33
支持了自定义函数/方法功能

release-1.0.5

07 Jun 07:45
Compare
Choose a tag to compare

升级fastjson到2.0.26
排除修改部分后续可能过时的API使用
比较"=="现在支持对数组进行的比较,例如[0,1,2]==[0, 1, 2]计算结果为true

release-1.0.4

07 Jun 07:44
Compare
Choose a tag to compare

支持语法#{xxx}直接取值节点,不进行表达式计算,例如#{Content-Type}计算结果为取上下文Content-Type节点而不是计算两个值相减