フィールドの最大長などのメタデータを含むXMLファイルがあります。私は事実のリストに対してこのメタデータを検証するためのルールを構築するためにdroolsを使用しなければなりません。私はXMLで指定されていてもいなくてもよい各フィールドの名前をハードコードしたくありません。どうやってドループの動的プロパティを取得できますか
私はこれを実行しようとしました:
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