日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助

發(fā)布時(shí)間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

我搜索了很多站點(diǎn),但找不到有關(guān).drl文件生成的任何特定相關(guān)示例。 .drl文件生成方面的文檔也不值得。

解決方案

//- ---- package部分-------

PackageDescr pkg = new PackageDescr();

pkg.setName(" com.demo.model");

// -------此處的導(dǎo)入部分-------

ImportDescr importEntry1 = new ImportDescr();

importEntry1.setTarget(" com.demo.model.Purchase");

pkg.addImport(importEntry1);

ImportDescr importEntry2 =新的ImportDescr();

importEntry2.setTarget(" com.demo.model.PotentialCustomer");

pkg.addImport(importEntry2);

ImportDescr importEntry3 = new ImportDescr();

importEntry3.setTarget(" com.demo.model.PaymentMethod");

pkg.addImport(importEntry3);

// -------這里的全局部分-------

GlobalDescr globalEntry = new GlobalDescr();

globalEntry.setType(" org.slf4j.Logger");

globalEntry.setIdentifier(" logger");

pkg.addGlobal(globalEntry);

// -------此處的規(guī)則部分

RuleDescr ruleEntry = new RuleDescr();

ruleEntry.setName("識別潛在客戶");

// ------- lhs從這里開始-------

AndDescr lhs = new AndDescr();

// -------模式從此處開始-------

PatternDescr patternEntry1 = new PatternDescr();

patternEntry1.setIdentifier(" $ p");

patternEntry1.setObjectType(" Purchase");

// ------- ExprConstraint從這里開始-------

ExprConstraintDescr ecd1 = new ExprConstraintDescr();

ecd1.setExpression(" paymentMethod");

ExprConstraintDescr ecd2 = new ExprConstraintDescr();

ecd2.setExpression(" PaymentMethod.CASH");

// -------將exprConstraint添加到關(guān)系expr -------

RelationalExprDescr red1 = new RelationalExprDescr(" ==",false,null,ecd1,ecd2);

ExprConstraintDescr ecd3 = new ExprConstraintDescr();

ecd3.setExpression(" subTotal");

ExprConstraintDescr ecd4 = new ExprConstraintDescr();

ecd4.setExpression(" 300");

RelationalExprDescr red2 = new RelationalExprDescr(">",false,null,ecd3,ecd4);

patternEntry1.addConstraint(red1);

patternEntry1.addConstraint(red2);

lhs.addDescr(patternEntry1);

NotDescr notDescr = new NotDescr();

notDescr.setText(" not");

PatternDescr pattDescr1 = new PatternDescr();

pattDescr1.setObjectType(" PotentialCustomer");

ExprConstraintDescr ecd11 = new ExprConstraintDescr();

ecd11.setExpression(" customerName");

ExprConstraintDescr ecd12 = new ExprConstraintDescr();

ecd12.setExpression(" $ p.getCustomerName()");

RelationalExprDescr red11 = new RelationalExprDescr(" ==",false,null,ecd11,ecd12);

pattDescr1.addConstraint(red11);

notDescr.addDescr(pattDescr1);

lhs.addDescr(notDescr);

ruleEntry.setLhs(lhs);

pkg.addRule(ruleEntry);

字符串drl = new DrlDumper()。dump(pkg);

//這里的drl是字符串

總結(jié)

以上是生活随笔為你收集整理的生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。