有没有办法让域类设置器有必要的操作。这是我希望的工作,是否可能采用其他方式?
域类:
Class ExampleDomain {
BigDecimal someNumber
def setSomeNumber = {setVal ->
println "Today is a good day to be the number: ${setVal}"
}
}
我是否只能绑定onUpdate
上的事件以及类似的事件,或者是否有办法更改Java对象驱动器事件?
例如:
def thisThing = new ExampleDomain(someNumber:3.0) //prints "Today is a good day to be the number: 3.0"
thisThing.someNumber = 5.8 //prints "Today is a good day to be the number: 5.8"
thisThing.save() //prints nothing
这是可能的行为吗?
答案 0 :(得分:3)
您可以通过定义getter / setter方法而不是闭包来完成此操作:
Class ExampleDomain {
BigDecimal someNumber
void setSomeNumber(someNumber) {
println "Today is a good day to be the number: ${someNumber}"
this.someNumber = someNumber
}
BigDecimal getSomeNumber() {
someNumber
}
}
适用于
//prints "Today is a good day to be the number: 5.8"
new ExampleDomain().someNumber = 5.8