@Builder groovy AST转换

时间:2014-04-30 22:59:02

标签: groovy abstract-syntax-tree

我正在寻找Groovy AST转换,它将在我的类中生成构建器模式代码。

我知道有些@Canonnical@ToString@EqualsAndHashCode增强器会自动生成有用的方法,并希望有@GenerateBuilder。我想用它这样的东西:

//Groovy code:
@GenerateBuilder
@CompileStatic
class Person  {
    String name
    int age
    Long id
    String createdBy
}

//then in Java code:
Person p = Person.newBuilder()
    .withName("pawel")
    .withAge(19)
    .withId(11123)
    .withCreatedBy("system")
    .build();

1 个答案:

答案 0 :(得分:5)

2.3之前没有任何内容可以做到这一点

但是groovy 2.3有一个新的@Builder注释

https://github.com/groovy/groovy-core/blob/master/src/main/groovy/transform/builder/Builder.java