我有一個XML文件包含像字段的最大長度的元數據。我必須使用drools來構建規則,以根據事實列表驗證此元數據。我不想硬編碼XML中可能指定或不指定的每個字段的名稱。我怎樣才能得到動態屬性在drools
我試着這樣做:
when
$metadata: Metadata(maxLength != null);
$obj: Object(eval($metadata.getFieldName()).length > $metadata.maxLength);
then
// TODO
end
它不工作,我得到以下錯誤:
java.lang.IllegalStateException: Errors while building rules : Unable
to Analyse Expression $metadata.getFieldName() > $metadata.maxLength:
[Error: Comparison operation requires compatible types. Found class
java.lang.String and class java.lang.Integer] [Near : {...
$metadata.getFieldName() > $metadata.maxLength ....}]
是否可以動態獲取一個字段名,並比較其最大長度是多少?我將不得不創建一個java對象來完成這個?
謝謝
非常感謝,我會記住地圖解決方案,不幸的是,它並不能完全滿足我的需求。 – Francis 2012-03-21 15:00:26