如何从决策表操作列的BOM成员创建对象(调用构造函数)?

StackOverflow https://stackoverflow.com//questions/25034462

  •  21-12-2019
  •  | 
  •  

我有2型Type1(假设它)作为规则项目上的规则集参数。一个用于另一个出去。在我的ruleflow上,我有一个初始动作任务,初始化out规则集参数。由于我们有一个ArrayList作为输入,我将不得不“迭代”它,我知道如何做到这一点。

我的问题出现了。在我的ruleflow的下一项任务中,我有一个规则任务,我添加了我的所有决策表,其中包含一些前提条目。 在大多数决策表上,可以触发多个规则。我想要实现的是我想要向输出arraylist添加类型1类型1的新对象。这个问题来自这里。如果我有3个规则,则触发我实际上有3个类型的类型1的对象被添加到输出arrayList,但所有3都具有相同的值。看起来所有人都是“指向”到同一个对象。

我的问题是,在动作列上有没有办法创建类型1类型1的新对象(调用构造函数),以便在执行Rure的规则的其余操作时写入Type1的新对象?我知道我可以实现这个问题,如果我创建类型1类型1的规则集变量,我拥有的许多规则和每个规则都使用每个规则,但这种方式我的表格得到了巨大的(侧身),这不是我们想要的方式。

Type1和ArrayList是BOM成员。

编辑:忘了提到我正在使用RetePlus算法,以“无”为退出条件和订购和动态BAN,以便运行时统治选择。

我希望我能解释自己足以让人能够帮助我。提前致谢。

有帮助吗?

解决方案

以下是实现您想要的技术,在3步:

在BOM编辑器中,在Type1类(或事实上的任何其他类中)创建方法。将其返回类型设置为type1。例如,调用它createType1。添加尽可能多的方法参数,因为您需要初始化对象。使它静止。

以一种对规则作者有意义的方式言语。就像是 : 一个新类型1,名称设置为{0},值设置为{1} //这是一个示例,将其调整为您想要的参数列表。

将方法作为B2X脚本:

// calling the appropriate constructor from the XOM class.
return new mypackage.TYPE1(arg1, arg2); 
.

保存BOM。

使用这个新短语,在构造中: 添加新类型1,名称设置为“joe”,值设置为12到输出列表;

通常,您可以在决策表的动作列中使用它。编辑器会将短语的每个占位符映射到子列表。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top