这是我的流口水验证问题的第二部分。第一部分已经回答,我的代码中已经实现了建议的解决方案。
这是我的java类结构
public class Person { List<PersonAddress> personAddress; List<FinanceDetails> financeDetails; } public enum AddressStatus { CURRENT, PREVIOUS; } public enum AddressType { PHYSICAL, POSTAL; } public enum AddressUseType { HOME, OFFICE; } public class PersonAddress{ Address address; AddressType type AddressStatus status AddressUseType useType String ownerShipType Integer timeAtAddress; } public class Address { String city; String country; String street; } public class FinanceDetails { String financeItemName; BigDecimal itemValue; }
好的,我的问题是,如果FinanceItemName为“土地或建筑物”,并且该用户的地址符合以下条件,则我需要验证FinanceDetails实例的itemValue,
AddressStatus ==当前
AddressType ==物理
AddressUseType == HOME
ownerShipType ==“拥有”
Drools版本5.5.0.Final
Java 1.7
可以使用的功能
需要样本流口水规则语法。谢谢
添加了itemValue测试,如评论所示
rule "land-orbuilding..." when Peson( $financeDetails: financeDetails, $personAddress: personAddress ) FinanceDetails( financeItemName == "Land or Building", itemValue == null || itemValue == 0 ) from $financeDetails PersonAddress( status == AddressStatus.CURRENT, type == AddressType.PHYSICAL, useType == AddressUseType.HOME, ownerShipType == "Own" ) from $personAddress then //... end
如何阅读其中一些文档?这非常类似于“第一部分”,只有很小的变化。