当前位置: 首页 > news >正文

网站空间和主机百度网盘网页版官网

网站空间和主机,百度网盘网页版官网,郑州做网站企业汉狮,腾讯企点多少钱一个QLExpress从入门到放弃,相关API和文档 一、属性开关 public class ExpressRunner {private boolean isTrace;private boolean isShortCircuit;private boolean isPrecise; }/*** 是否需要高精度计算*/ private boolean isPrecise false;高精度计算在会计财务中非常重要&…

QLExpress从入门到放弃,相关API和文档

一、属性开关

public class ExpressRunner {private boolean isTrace;private boolean isShortCircuit;private boolean isPrecise;
}
/*** 是否需要高精度计算*/
private boolean isPrecise = false;高精度计算在会计财务中非常重要,java的float、double、int、long存在很多隐式转换,做四则运算和比较的时候其实存在非常多的安全隐患。
所以类似汇金的系统中,会有很多BigDecimal转换代码。而使用QLExpress,
你只要关注数学公式本身 订单总价 = 单价 * 数量 + 首重价格 + ( 总重量 - 首重) * 续重单价 ,然后设置这个属性即可,所有的中间运算过程都会保证不丢失精度。
/*** 是否使用逻辑短路特性*/
private boolean isShortCircuit = true;在很多业务决策系统中,往往需要对布尔条件表达式进行分析输出,普通的java运算一般会通过逻辑短路来减少性能的消耗。例如规则公式:
star > 10000 and shopType in ('tmall', 'juhuasuan') and price between (100, 900)
假设第一个条件 star>10000 不满足就停止运算。但业务系统却还是希望把后面的逻辑都能够运算一遍,并且输出中间过程,保证更快更好的做出决策。
/*** 是否输出所有的跟踪信息,同时还需要log级别是DEBUG级别*/
private boolean isTrace = false;这个主要是是否输出脚本的编译解析过程,一般对于业务系统来说关闭之后会提高性能。

二、execute执行参数

/*** 执行一段文本* @param expressString 程序文本* @param context 执行上下文,可以扩展为包含ApplicationContext* @param errorList 输出的错误信息List* @param isCache 是否使用Cache中的指令集,建议为true* @param isTrace 是否输出详细的执行指令信息,建议为false* @param aLog 输出的log* @return* @throws Exception*/
Object execute(String expressString, IExpressContext<String, Object> context, List<String> errorList, boolean isCache, boolean isTrace);

三、功能扩展API列表

1、执行器(ExpressRunner)

/*** 执行一段文本* @param expressString 程序表达式* @param context 执行上下文,可以扩展为包含ApplicationContext(动态入参等)* @param errorList 输出的错误信息List* @param isCache 是否使用Cache中的指令集,建议为true* @param isTrace 是否输出详细的执行指令信息,建议为false* @param aLog 输出的log* @return* @throws Exception*/
Object execute(String expressString, IExpressContext<String, Object> context, List<String> errorList, boolean isCache, boolean isTrace);

在这里插入图片描述

2、操作符定义Operator

/*** QLExpress主要通过子类实现Operator.java提供的以下方法来最简单的操作符定义,然后可以被通过addFunction或者addOperator的方式注入到ExpressRunner中。* 如果你使用Operator的基类OperatorBase.java将获得更强大的能力,基本能够满足所有的要求。*/
public abstract Object executeInner(Object[] list) throws Exception;

3、function相关API(ExpressRunner)

//通过name获取function的定义
OperatorBase getFunciton(String name);//通过自定义的Operator来实现类似:fun(a, b, c)
void addFunction(String name, OperatorBase op);//fun(a, b, c) 绑定 object.function(a, b, c)对象方法
void addFunctionOfServiceMethod(String name, Object aServiceObject, String aFunctionName, Class<?>[] aParameterClassTypes, String errorInfo);//fun(a, b, c) 绑定 Class.function(a, b, c)类方法
void addFunctionOfClassMethod(String name, String aClassName, String aFunctionName, Class<?>[] aParameterClassTypes, String errorInfo);//给Class增加或者替换method,同时支持 a.fun(b), fun(a, b) 两种方法调用
//比如扩展String.class的isBlank方法:"abc".isBlank()和isBlank("abc")都可以调用
void addFunctionAndClassMethod(String name, Class<?> bindingClass, OperatorBase op);

4、Operator相关API

//添加操作符号,可以设置优先级
void addOperator(String name, Operator op);
void addOperator(String name, String aRefOpername, Operator op);//替换操作符处理
OperatorBase replaceOperator(String name, OperatorBase op);//添加操作符和关键字的别名,比如 if..then..else -> 如果。。那么。。否则。。
void addOperatorWithAlias(String keyWordName, String realKeyWordName, String errorInfo);

5、宏定义相关API

//比如addMacro("天猫卖家", "userDO.userTag &1024 == 1024")
void addMacro(String macroName, String express);

6、语法校验API

String expressString = "for(i = 0; i < 10; i++) {sum = i + 1;} return sum;";
InstructionSet instructionSet = expressRunner.parseInstructionSet(expressString);
//如果调用过程不出现异常,指令集instructionSet就是可以被加载运行(execute)了!
http://www.dinnco.com/news/55862.html

相关文章:

  • 公司网站开发项目外包方案鹤壁网络推广哪家好
  • 示范校建设验收网站网销是做什么的
  • 国内 上市网站建设公司北京seo关键词排名优化
  • 网站建设纳入本单位日常性工作seo优化报价公司
  • 安装php和mysql网站百度知道首页官网
  • 12306网站开发公司佛山网站建设正规公司
  • 做网站必须要买服务器吗seo优化诊断
  • 济南商城网站建设网上国网app
  • 电子商务网站面临的安全隐患站长工具推荐
  • 上饶便宜的做网站公司千锋培训学费多少钱
  • 怎么做诈骗网站网站建立
  • 宁波专业网站推广制作服务百度app免费下载安装最新版
  • 重庆点优建设网站公司吗品牌策略怎么写
  • 在线考试类网站怎么做一级造价工程师
  • 手机建行网站公司做网站怎么做
  • 厦门做外贸网站大连百度关键词优化
  • 淄博网站seo价格百度竞价推广代理商
  • 织梦5.5模版安装上去为什么打开网站图片不能显示教程东莞网络营销代运营
  • 网站建设熊猫建站关键词优化百家号
  • 自学做网站可以嘛高级seo是什么职位
  • 蝌蚪窝一个释放做网站打字赚钱平台 学生一单一结
  • ai怎么做自己的网站百度实名认证
  • 做时时的网站百度数据研究中心
  • 东台做网站的制造业中小微企业
  • 四维码制作网站百度卖货平台
  • 让网站会员做产品标签确认网络推广的方法
  • wordpress博客插件seo资源网站 排名
  • 微信手机网站设计太原seo关键词排名
  • 电子商城网站建设项目规划书武汉网站seo德升
  • 网站开发网页设计北京师范大学出版社惠州seo计费