rule "size must be greater than 1 billion"
when
$typeMaster : TypeMaster ( $type : keyValue["type"] ,
$code : keyValue["code"],
( $type in ( "CB1", "CB2" ) && $code == "123" ) ||
( $type in ( "B1", "B2" ) && $code == "234" ) &&
keyValue["size"] <= 1000000000 )
then
messageService.save(Type.ERROR, kcontext, $typeMaster);
end
我在流口水中有上述规则,在 TypeMaster 事实/对象中说,有一个 keyValue 映射,获取类型和代码并根据几个标准检查它们的值,当它们满足时,检查大小是否 <= 十亿。如果它满足条件,那么,它将在结果中保存带有错误和规则名称的所需对象。
我想重构代码。但是,我希望所有类型和代码检查都在规则文件中,因为如果任何规则发生更改,可以在文件本身中更改它,而不是进入 Java 代码并更改硬编码变量。你能建议吗?