iReport (JasperReports) использует Тернарный оператор .Например, рассмотрим следующую логику:
IF boolean condition THEN
execute true code
ELSE
execute false code
END IF
Используя троичный оператор, это становится:
boolean condition ? execute true code : execute false code
При использовании переменной со следующим выражением:
$F{column_value}.intValue() == 42 ? "Life, Universe, Everything" : "Naught"
Тогда значение переменной будет «Жизнь, Вселенная, Всё», если и только если целое значение $F{column_value}
равно 42.
Когда вещи становятся немного тупыми, это когда вам нужноимеют вложенные условия.Для этого поместите вложенные условия в скобки и в отдельной строке:
condition1 ?
(condition2 ? true_code2 : false_code2) :
false_code1
Поэтому, когда вам нужно выполнить много из них:
condition1 ?
(condition2 ?
(condition3 ? true_code3 : false_code3) :
false_code2) :
(condition4 ? true_code4 : false_code4)