基于字符串表达式的轻量级计算引擎 CharSequence Expression Calculate Engine(简称cece)
- 将字符串表达式解析成算术表达式并计算结果(如
a*data.b- 100,最终解析成参数a的值乘以参数data对应属性b的值再减100,其中a和data.b可为单一数值,亦可为列表,若为列表需等长) - 轻量级,代码简洁便于阅读
- 扩张性良好,支持自定义操作器(默认提供加、减、乘、除、算术均值、合计、加权均值)、支持不同数值类(如 Double、BigDecimal等,可自行扩展)
- 支持SPI机制扩展自定义操作器
- 内嵌逻辑运算、条件运算
- 支持自适应列表计算,情况包含(标量
ops标量、标量op列表、列表op标量、列表op列表【等长】) - 支持
bean的nestedProperty作为计算参数,即data.ep.ele最终解析为参数data对象的ep属性对象的ele属性的值 - 支持计算上下文参数
- 数值类型扩展 参考BigDecimal类型加法操作器、BigCecimal类型计算引擎
- 操作器扩展 参考加法操作器、合计操作器
示例参考:BigDecimal计算引擎单元测试
