在 drools 中声明新类型,用泛型扩展 class

Declare new type in drools that extends a class with generic

我有一个 java class 看起来像这样(当然有 getter 和 setter):

public class DynamicTransaction<T> implements Serializable {
    private HeaderDTO header;
    private T body;
}

在 Drools 中,我想声明扩展此 class 的特定事务。所以我想做这样的事情:

declare ShopTransaction extends DynamicTransaction<ShopBody>

end

declare ShopBody
    name: String
    modDate: String
    dailyIdx: int
end 

问题是,我遇到了这个异常:

[ERR 102] Line 15:39 mismatched input '<'

所以我的问题是:是否有可能在 Drools 中进行这种类型的继承?

Drools 尚未扩展以管理泛型。

你需要写一个Javaclass

public class ShopTransaction extends DynamicTransaction<ShopBody>

然后您就可以开始使用 ShopTransaction 作为模式来编写您的规则了。