Drool 7 SpreadSheet Decision Template 笔记

news2024/11/27 4:33:07

1 Excel Decision table

1.1 很棒的示意图,来自https://blog.csdn.net/justlpf/article/details/128109731
在这里插入图片描述

1.2 参考URL
1.2.1 https://blog.csdn.net/justlpf/article/details/128109731
1.3 多sheet 模式

  • 默认是用第一个sheet
  • 如果要支持多sheet,需要创建一个同名的.properties文件
    • sheets=Sheet1,Sheet2

1.4 sheet内主要内容
1.4.1 一个RuleSet :注意RuleSet里面的定义都是对package有影响,不仅仅是excel文件
默认package 名就是Ruleset 名称

  • 具体实现代码-final Package ruleset = new Package( (showPackage) ? rulesetName : null );

属性

  • RuleSet
    The package name for the generated DRL file. Optional, the default is rule_table.
  • Sequential
    true or false. If true, then salience is used to ensure that rules fire from the top down.
  • SequentialMaxPriority
    Optional, at most once. In sequential mode, this option is used to set the start value of the salience. If omitted, the default value is 65535.
  • SequentialMinPriorit
    Optional, at most once. In sequential mode, this option is used to check if this minimum salience value is not violated. If omitted, the default value is 0.
  • EscapeQuotes
  • NumericDisabled
    If true, then a String representation is used for DRL instead of a double value from a Numeric cell. It would also skip additional numeric processing for the double value.
  • IgnoreNumericFormat
    If true, then the format for numeric values is ignored
  • Import
    可以多行
  • Variables
    可以多行
  • Functions
    可以多行
  • Queries
    可以多行
  • Declare
    可以多行
  • Unit 实验性,不用
  • Dialect
    java or mvel. The dialect used in the actions of the decision table.

1.4.2 一个或者多个RuleTable

  • 以空行分割多个RuleTable
  • 无论CONDITION/RULE,值为空代表忽略
  • metadata
    • Code snippet and interpolated values for constructing a metadata entry for the rule.
    • 没有google到例子

Properties 和rule 属性差不多,但注意salience 被priority代替

  • PRIORITY An integer defining the salience value of the rule
  • DATE-EFFECTIVE
    Example: DATE-EFFECTIVE “4-Sep-2018”
  • DATE-EXPIRES
  • NO-LOOP
  • AGENDA-GROUP
  • ACTIVATION-GROUP
  • DURATION
  • TIMER
  • CALENDAR
  • AUTO-FOCUS
  • LOCK-ON-ACTIVE
  • RULEFLOW-GROUP

1.5 excel 转换为drl文件的核心类是public class DefaultRuleSheetListener
1.5.1 核心函数buildRuleSet()

2 template

2.1 用途

  • 使用外部存储的变量列表:如数据库、excel 生成drl文件
  • 默认提供了从excel ,对象、list导入数据模式

2.2 相关生成drl的compiler

  • ExternalSpreadsheetCompiler
  • DataProviderCompiler
    可以以DataProviderCompiler为父类,自行定义开发新的compiler
  • ObjectDataCompiler
    • extends DataProviderCompiler
    • 当对象有null值被引用的时候,DefaultGenerator如下代码可能返回空condition
String drl = String.valueOf( TemplateRuntime.execute( template,vars,factory,registry ) );

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1257386.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

2023年【通信安全员ABC证】考试题及通信安全员ABC证证考试

题库来源:安全生产模拟考试一点通公众号小程序 2023年【通信安全员ABC证】考试题及通信安全员ABC证证考试,包含通信安全员ABC证考试题答案和解析及通信安全员ABC证证考试练习。安全生产模拟考试一点通结合国家通信安全员ABC证考试最新大纲及通信安全员A…

8.0 泛型

通过之前的学习,读者可以了解到,把一个对象存入集合后,再次取出该对象时,该对象的编译类型就变成了Object类型(尽管其在运行时类型没有改变)。集合设计成这样,提高了它的通用性,但是…

Java 基础学习(一)Java环境搭建和基本数据类型

1 Java 开发环境搭建 1.1 Java 编程语言 1.1.1 什么是Java编程语言 语言是人类进行沟通交流的各种表达符号,方便人与人之间进行沟通与信息交换;而计算机编程语言则是人与计算机之间进行信息交流沟通的一种特殊语言,也有语法规则、字符、符…

嵌入式八股 | 笔试面试 | 校招秋招 | 题目精选

嵌入式八股精华版1.0所有216道题目如下: 欢迎关注微信公众号【赛博二哈】并加入嵌入式求职交流群。提供简历模板、学习路线、岗位整理等 欢迎加入知识星球【嵌入式求职星球】获取完整嵌入式八股。 提供简历修改、项目推荐、求职规划答疑。另有各城市、公…

vue3使用TinyMCE富文本

TinyMCE 介绍 TinyMCE 是一个功能强大的富文本编辑器,它允许您在网页应用程序中创建和编辑具有丰富格式的内容。官网 github项目地址 文档地址 下载tinymce文件 从网页下载最新版zip,也可以打开下面链接下载。 打开网页 tinymce.zip zh-Hans 将下载…

什么是好的FPGA编码风格?(3)--尽量不要使用锁存器Latch

前言 在FPGA设计中,几乎没人会主动使用锁存器Latch,但有时候不知不觉中你的设计莫名其妙地就生成了一堆Latch,而这些Latch可能会给你带来巨大的麻烦。 什么是锁存器Latch? Latch,锁存器,一种可以存储电路…

【yolov5人行道-斑马线目标检测】

yolov5人行道-斑马线目标检测 数据集yolov5人行道-斑马线目标检测检测模型 数据集 YOLOv5是一种目标检测算法,可以用于检测图像中的人行道-斑马线。在目标检测领域,YOLOv5通过结合多种技术手段,包括使用Mosaic数据增强操作、自适应锚框计算与…

Blender学习笔记:做一个小车

文章目录 轮廓车窗轮胎和车灯 教程地址:八个案例教程带你从0到1入门blender【已完结】 轮廓 1 创建立方体,将其拉伸成长方体。Tab进入编辑模式;CtrlR添加一个纵向的循环边;3进入面模式;E选中后上方的面向上拉伸&…

直播自动互动发言机器人,成功分享与技术实现思路

先来看实操成果,↑↑需要的同学可看我名字↖↖↖↖↖,或评论888无偿分享 一、引言 在当今的互联网时代,直播间已经成为了一个重要的营销和交流平台。为了提高直播间的关注度和人气,我们需要在直播过程中注重提高停留和增加人气。本…

Portraiture全新4.1.2版本升级更新

关于PS修图插件,相信大家都有安装过使用过,而且还不止安装了一款,比如最为经典的DR5.0人像精修插件,Retouch4me11合1插件,Portraiture磨皮插件,这些都是人像精修插件中的领跑者。其中 Portraiture 刚刚升级…

【第三节:微信小程序 3、app.js配置】微信小程序入门,以思维导图的方式展开3

目录 提供了2个函数: app.js配置 【第三节:微信小程序 3、app.js配置】微信小程序入门,以思维导图的方式展开3 提供了2个函数: app() getApp() --------------------------- app.js配置 App() 功能 Ap…

(附源码)springboot电影售票系统小程序 计算机毕设36991

目 录 摘要 1 绪论 1.1课题目的与意义 1.2研究背景 1.3论文结构与章节安排 1.4小程序框架以及目录结构介绍 2 springboot电影售票系统小程序系统分析 2.1 可行性分析 2.1.1 技术可行性分析 2.1.2 经济可行性分析 2.1.3 操作可行性分析 2.2 系统流程分析 2.2.1 数据…

OpenCV项目开发实战--基本图像分割图生成器

欢迎回到我们有关 OpenCV 的系列文章以及我们如何利用其强大的图像预处理功能。在我们之前的文章的基础上,今天我们向您展示如何创建基本的图像分割图生成器。 具体来说,我们的图像掩模应该帮助识别每个像素是否: 背景的一部分(指定值为0)在感兴趣的对象的边缘(指定值 …

Zookeeper分布式锁实现Curator十一问

前面我们通过Redis分布式锁实现Redisson 15问文章剖析了Redisson的源码,理清了Redisson是如何实现的分布式锁和一些其它的特性。这篇文章就来接着剖析Zookeeper分布式锁的实现框架Curator的源码,看看Curator是如何实现Zookeeper分布式锁的,以…

Ceph----CephFS文件系统的使用:详细实践过程实战版

CephFS 介绍 是一个基于 ceph 集群 且兼容 POSIX 标准的文件系统。 创建 cephfs 文件系统时 需要在 ceph 集群中添加 mds 服务,该服务 负责处理 POSIX 文件系统中的 metadata 部分, 实际的数据部分交由 ceph 集群中的 OSD 处理。 cephfs 支持以内核模块…

计算机服务器中了mallox勒索病毒如何处理,mallox勒索病毒解密文件恢复

科技技术的发展推动了企业的生产运营,网络技术的不断应用,极大地方便了企业日常生产生活,但网络毕竟是一把双刃剑,网络安全威胁一直存在,近期,云天数据恢复中心接到很多企业的求助,企业的计算机…

2023年【起重机司机(限桥式起重机)】试题及解析及起重机司机(限桥式起重机)复审模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 起重机司机(限桥式起重机)试题及解析根据新起重机司机(限桥式起重机)考试大纲要求,安全生产模拟考试一点通将起重机司机(限桥式起重机)模拟考试试题进行汇编,组成一套起重机司机(限桥式起重机)…

【Ambari】HDP单机自动化安装(基础环境和MySQL脚本一键安装)

🦄 个人主页——🎐开着拖拉机回家_Linux,大数据运维-CSDN博客 🎐✨🍁 🪁🍁🪁🍁🪁🍁🪁🍁 🪁🍁🪁&am…

基于Java SSM框架+Vue实现大学生兼职信息网站项目【项目源码+论文说明】

基于java的SSM框架Vue实现大学生兼职信息网站演示 摘要 21世纪的今天,随着社会的不断发展与进步,人们对于信息科学化的认识,已由低层次向高层次发展,由原来的感性认识向理性认识提高,管理工作的重要性已逐渐被人们所认…

基于PLC的果园灌溉系统设计(论文+源码)

1.系统设计 系统示意图如图2-1所示。某一果园 共有3个灌溉区域,分别为灌溉1#区,灌溉2#区,灌溉3#区,分别使用不同湿度传感器检测湿度,用于各区域控制湿度,进行灌溉,使用相应的灌溉阀进行灌溉。这…