我有 2 个类型为 TYPE1 的数组列表(可以这么说)作为我的规则项目的规则集参数。一个用于 IN 另一个用于 OUT。在我的规则流中,我有一个初始化 OUT 规则集参数的初始操作任务。由于我们有一个 arrayList 作为输入,我将不得不“迭代”它,我知道该怎么做。
我的问题随之而来。在我的规则流的下一个任务中,我有一个规则任务,我在其中添加了所有具有一些先决条件的决策表。在大多数决策表上,可以触发多个规则。我想要实现的是对于每个触发的规则,我想将 TYPE1 类型的新对象添加到输出数组列表中。问题来了。如果我有 3 个规则触发,我实际上有 3 个类型为 TYPE1 的对象被添加到输出数组列表中,但所有 3 个对象都具有相同的值。看起来所有人都“指向”同一个对象。
我的问题是,有没有办法在操作列上创建一个类型为 TYPE1 的新对象(调用构造函数),所以在执行规则的其余操作时,它写在 TYPE1 的新对象上?我知道如果我创建与我拥有的规则一样多的 TYPE1 类型的规则集变量并为每个规则使用每个规则,我可以实现这一点,但是这样我的表会变得很大(横向),这不是我们想要的方式。
TYPE1 和数组列表都是 BOM 成员。
编辑:忘了提到我正在使用 RetePlus 算法,以“none”作为退出标准,排序和动态 BAL 用于运行时规则选择。
我希望我对自己的解释足够好,以便有人能够帮助我。提前致谢。