在Eclipse中自动为类创建构建器

时间:2015-04-07 14:21:49

标签: java eclipse builder

有没有办法使用自动构建器Eclipse中的类创建构建器(Joshua Bloch's Builder Pattern)?例如菜单中的选项,插件或其他内容。我在“ Refactor ”下找不到任何内容。

5 个答案:

答案 0 :(得分:27)

您可能需要查看lombok注释以生成没有样板代码的构建器。例如:

@Builder
public class MyPojo {
    private String name;
}

MyPojoBuilder.builder().name("yourame").build();

限制是这似乎不适用于抽象类。

答案 1 :(得分:18)

也许我迟到了。

Eclipse本身并没有提供生成代码来支持构建器模式的方法。但是,它可以通过插件进行扩展,以增强功能。

我使用这个插件:

https://github.com/henningjensen/bpep

答案 2 :(得分:14)

我目前在Eclipse Neon.1a版本(4.6.1)中使用 Spark Builder Generator ,效果很好。

答案 3 :(得分:2)

尝试https://github.com/vojtek/write-it-once

package ${cls.package.name};

public class ${cls.shortName}Builder {

public static ${cls.name}Builder builder() {
    return new ${cls.name}Builder();
}
<% for(field in cls.fields) {%>
private ${field.type.name} ${field.name};
<% } %>
<% for(field in cls.fields) {%>
public ${cls.name}Builder ${field.name}(${field.type.name} ${field.name}) {
    this.${field.name} = ${field.name};
    return this;
}
<% } %>
public ${cls.name} build() {
    final ${cls.name} data = new ${cls.name}();
<% for(field in cls.fields) {%>
    data.${field.setter.name}(this.${field.name});
<% } %>
    return data;
}
}

答案 4 :(得分:1)

您可以添加自己的模板窗口 - &gt;偏好 - &gt; java - &gt;编辑 - &gt;模板,这将通过内容提案激活,但不会通过重构操作

激活