这可能很简单,但我还没有找到一种简单的方法来确定规则中实现的接口所代表的工作内存中的对象是IBM Rules Designer 8.8.1中的特定类。例如,假设HousingPeriod
是一个接口,如果我有一个定义说明:
definitions
set 'the housing period' to a housing period...
我希望用where
子句跟随它,进一步优化实现HousingPeriod
的对象集合,作为实现类列表之一,比如CollegeHousingPeriod
和{{1我怎么能这样做?类似的东西:
InternshipHousingPeriod
或
where this housing period is a college housing period
似乎不起作用。提前感谢您提供的任何帮助!
答案 0 :(得分:0)
据我所知,没有内置的方法来查询对象的类型。相反,我看到了两种可能的方法来获得理想的结果:
为每个实施类创建一个带有自定义B2X映射的虚拟BOM表条目。在B2X-Mapping中,您实现必要的Java代码来比较对象类型并返回布尔值。语言化就像{1} is a college housing period
。这显然只有在您之前知道对象并且没有太多这些对象时才有效。
选项二是不创建不同的对象,而是使用单独的属性来区分住房期间类型。语言表达就像where the type of this housing period is college housing
。使用这种方法,您必须更改规则项目的界面,这可能是您无法实现的。