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

网站空间和主机百度问答

网站空间和主机,百度问答,中小型网站建设精英,alt网站标签怎么做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.hengruixuexiao.com/news/47246.html

相关文章:

  • 网络架构中sdn是指扬州seo优化
  • 个人网站空间收费百度在线识图查图片
  • 网站建设 趋势哪里可以建网站
  • tp做的网站封装成app大的网站建设公司
  • 网站设计用什么做友链外链app
  • 湖北专业的网瘾戒除学校有哪些广东知名seo推广多少钱
  • 公司做网站找谁注册网站平台要多少钱
  • seo搜索引擎优化薪资水平seo优化招商
  • t想学网站建设如何写软文推广产品
  • 建设银行宁波分行网站短视频培训机构排名
  • 网站建设明细报价表搜索引擎优化结果
  • 用wordpress做网站教程东莞网站建设平台
  • 济南市高新技术官方网站开发区免费注册域名网站
  • 那个网站做的好东莞企业网站推广
  • 一个空间做多个网站百度推广助手app下载
  • 网站收录不稳定站长平台网站
  • 邵阳市建设投资经营集团网站帮忙推广的平台
  • 织梦的手机端网站模板下载seo云优化平台
  • c 多语言网站怎么做网络营销和电子商务区别
  • wordpress调用评论数据宁阳网站seo推广
  • 做网站 人员做网站哪家好
  • 好一点的app开发公司网站关键词优化案例
  • 门户网站概念做seo需要投入的成本
  • 玩网页游戏的网站福建seo外包
  • 上海市优化排名案例
  • 做类似于彩票的网站犯法吗产品推广方案范文
  • 定制网站建设加盟代理湖南网络推广服务
  • 网络设计报告书安卓优化大师历史版本
  • 科技网站设计公司新闻软文广告
  • 山东省住房城乡建设厅门户网站网店运营怎么学