我想制作一个基本上可以扩展它的宏:
@WithBasicConstructor
class Person {
private String name
private String address
}
进入这个:
class Person {
private String name
private String address
Person(String name, String address) {
this.name = name
this.address = address
}
}
我一直在阅读@Immutable
的代码,以了解它是如何完成的。有人用过新的AstBuilder吗?
任何想法如何实现? AstBuilder之间是否有首选项用于字符串/代码/规范?
答案 0 :(得分:1)
你可以从groovy 1.8中使用(或复制)@groovy.transform.TupleConstructor
关于偏好...我喜欢buildFromSpec
,它会减少意外
但是我建议你试试buildFromCode
,测试它的局限性和怪癖,与它们一起玩一点。