-
QLExpress-08-Gleanings
编译脚本,查询外部需要定义的变量和函数
注意以下脚本int和没有int的区别
测试案例
compileScriptTest()
/**
* 注意以下脚本int和没有int的区别
* 备注:定义 int,则不包含平均分
*
* @throws Exception if any
*/
@Test
public void compileScriptTest() throw...
2018-06-10 04:32:39 |
Engine
-
QLExpress-07-API
功能扩展API列表
QLExpress主要通过子类实现Operator.java提供的以下方法来最简单的操作符定义,然后可以被通过addFunction或者addOperator的方式注入到ExpressRunner中。
public abstract Object executeInner(Object[] list) throws Exception;
function 相关 A...
2018-06-10 04:17:25 |
Engine
-
QLExpress-06-Config
isPrecise
高精度计算在会计财务中非常重要,java的float、double、int、long存在很多隐式转换,
做四则运算和比较的时候其实存在非常多的安全隐患。 所以类似汇金的系统中,会有很多 BigDecimal 转换代码。
而使用QLExpress,你只要关注数学公式本身
订单总价 = 单价 * 数量 + 首重价格 + ( 总重量 - 首重) * 续重单价
然后设...
2018-06-10 04:02:46 |
Engine
-
QLExpress-05-Collection
关于集合的快捷写法
/**
* set 集合测试
* 备注:集合的快捷写法
* @throws Exception if any
*/
@Test
public void shorthandTest() throws Exception {
ExpressRunner runner = new ExpressRunner(false,false);
DefaultC...
2018-06-10 03:57:04 |
Engine
-
QLExpress-04-Bind Class or Method
绑定java类或者对象的method
addFunctionOfClassMethod+addFunctionOfServiceMethod
测试案例
/**
* <p> 绑定对象方法 </p>
*
* <pre> Created: 2018/6/9 下午5:27 </pre>
* <pre> Project: te...
2018-06-10 03:52:52 |
Engine
-
QLExpress-03-Custom、Extend、Macro
自定义函数
脚本中定义function
/**
* 自定义函数测试
* @throws Exception if any
*/
@Test
public void defineFunctionTest() throws Exception {
final String express = "function add(int a,int b){\n" +
...
2018-06-10 03:35:00 |
Engine
-
QLExpress-02-Common Java Grammar
普通 java 语法
语法支持
序号
符号
备注
1
+,-,*,/,<,>,<=,>=,==,!=,<>,%,++,–
<>等同于!=, mod等同于%
2
in,like,...
2018-06-10 03:03:08 |
Engine
-
QLExpress-01-Quick Start
QLExpress
QLExpress 是一个基于 Java 的表达式解析器和规则引擎,它旨在提供一种简单、高效的方式来处理和计算表达式,同时支持规则的定义和执行。QLExpress 适用于需要动态表达式计算和复杂决策逻辑的场景,如金融分析、业务规则管理、数据验证等。
核心特性
表达式解析:QLExpress 能够解析包含变量、常量、函数调用和操作符的复杂表达式,并计算...
2018-06-10 02:29:21 |
Engine