У меня есть файл XML, содержащий метаданные, такие как максимальная длина поля. Мне приходится использовать слюни для создания правил для проверки этих метаданных по списку фактов. Я не хочу жестко кодировать имя каждого поля, которое может быть указано или не указано в 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 для этого?
Спасибо