Мне нужно написать класс для регистрации значений, которые необходимо сравнить с максимальным значением, а затем присвоить результат истинности другой переменной.Рассмотрим следующий класс домена:
class SoManyBooleans{
BigDecimal valueOne
BigDecimal valueOneMaximum
Boolean valueOneCorrect=true
BigDecimal valueTwo
BigDecimal valueTwoMaximum
Boolean valueTwoCorrect=true
BigDecimal valueThree
BigDecimal valueThreeMaximum
Boolean valueThreeCorrect=true
.
.
.
BigDecimal valueNinetyNine
BigDecimal valueNinetyNineMaximum
Boolean valueNinetyNineCorrect=true
Boolean allValuesCorrect
static constraints = {
valueOne()
valueOneMaximum()
valueOneCorrect()
valueTwo()
valueTwoMaximum()
valueTwoCorrect()
valueThree()
valueThreeMaximum()
valueThreeCorrect()
.
.
.
valueNinetyNine()
valueNinetyNineMaximum()
valueNinetyNineCorrect()
allValuesCorrect()
}
static beforeInsert = {
this.valueOneCorrect=this.valueOne<=this.valueOneMaximum
this.valueTwoCorrect=this.valueTwo<=this.valueTwoMaximum
this.valueThreeCorrect=this.valueThree<=this.valueThreeMaximum
.
.
.
this.valueNinetyNineCorrect=valueNinetyNine<=valueNinetyNineMaximum
this.allValuesCorrect=this.valueOneCorrect&&this.valueTwoCorrect&&this.valueThreeCorrect&&...&&this.valueNinetyNineCorrect
}
}
Строка this.allValuesCorrect=this.valueOneCorrect&&this.valueTwoCorrect&&this.valueThreeCorrect&&...&&this.valueNinetyNineCorrect
, по-видимому, создает исключение NullPointerException, потому что когда я комментирую эту строку, процесс сохранения работает нормально.
На самом деле такие строки this.valueOneCorrect=this.valueOne<=this.valueOneMaximum
фактически были написаны с использованием оператора if-else, потому что, похоже, операция производит null
вместо false
.
Помогите, пожалуйста.Заранее спасибо.