Мой предпочтительный метод, чтобы создать параметр с заменами в форма HashMap, когда у вас есть большая группа подстанций или если они могут измениться.
Вы можете либо выполнить замену во время выполнения, либо установить значение по умолчанию. Преимущество состоит в том, что вы можете обновить карту, не перекомпилируя отчет.
Например, если вы должны были иметь параметр с именем «risk_types» (Использование языка по умолчанию, как заводной) вы бы установить значение параметра по умолчанию на что-то вроде
[1: "HIGH RISK", 2: "LOW RISK"]
В вашем коде, вы бы есть ваше выражение поля текста, как (где risk_type находится поле поиска из базы данных):
$P{risk_types}.get($F{risk_type})
для элементов, отсутствующих в карте, вы получите нулевое значение, я расширяю выражение текстового поля, чтобы быть:
$P{risk_types}.get($F{risk_type}) ?: "UNDEFINED"
Я также сделал это несколько раз, и это нормально для трех условий ... но кто бы расшифровал его, если вы напишете 5 или более условий? – davorp
спасибо, я тоже сделал это .. но, как @davorp сказал .. 3 макс. – cherit
Этот ответ приводит к запаху кода. @Sean прав: Сделайте любую логику в своем компоненте, передав результат в отчет. – inanutshellus