我有代码
static constraints = {
stringValiable1(nullable: false)
stringValiable2(nullable: false)
stringValiable3(nullable: false)
}
是否有一种方法可以抽象出(nullable: false)
,以避免一次又一次地使用它。也可以在包级别完成,以便我也可以在其他类中使用它。
答案 0 :(得分:2)
您要考虑的因素只是Map
。例如,方法调用stringValiable1(nullable: false)
是stringValiable1([nullable: false])
的合成糖。
因此,将其分解出来是将Map
放入某个类,然后使用它:
package foo.bar
class MyConstraints {
static nullable = [nullable: true]
static blank = [blank: true]
}
static import foo.bar.MyConstraints.*
class SomeDomainClass {
...
static constraints = {
stringVariable1(nullable)
stringVariable2(nullable + blank)
}
}