生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助
我搜索了很多站點,但找不到有關.drl文件生成的任何特定相關示例。 .drl文件生成方面的文檔也不值得。
解決方案
//- ---- package部分-------
PackageDescr pkg = new PackageDescr();
pkg.setName(" com.demo.model");
// -------此處的導入部分-------
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);
// -------此處的規則部分
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添加到關系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是字符串
總結
以上是生活随笔為你收集整理的生成drl文件_我如何通过编程方式生成.drl文件。任何示例对我都将有所帮助的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 火焰纹章晓之女神攻略
- 下一篇: android 弹窗有边框_Androi