在 Eclipse 中自动为 class 创建生成器
Automatically create builder for class in Eclipse
有没有办法使用自动构建器为Eclipse
中的类创建构建器(Joshua Bloch's Builder Pattern)?例如菜单中的选项、插件或其他东西。我在“Refactor
”下找不到任何内容。
您可以添加自己的模板 window -> 首选项 -> java -> 编辑器 -> 模板,这将通过内容提案激活,但不会通过重构操作激活
您可能需要查看 lombok 注释以生成没有样板代码的构建器。例如:
@Builder
public class MyPojo {
private String name;
}
MyPojoBuilder.builder().name("yourame").build();
限制是这似乎不适用于抽象 类。
也许我迟到了。
Eclipse 本身不提供生成代码以支持构建器模式的方法。然而,它可以通过插件进行扩展以增强功能。
我用的是这个插件:
https://github.com/henningjensen/bpep
编辑:5 年后,重新审视这个话题,建议使用已经成为行业标准的 lombok,它也是 IDE 不可知论者 ==> 如果你的队友使用各种 IDEs.
尝试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;
}
}
我目前使用 Spark Builder Generator 和 Eclipse Neon.1a 版本 (4.6.1),它运行良好。
- https://marketplace.eclipse.org/content/sparkbuildergenerator
- https://github.com/helospark/SparkBuilderGenerator
You can set the preferences under:
Window->Preferences->Java->Spark Builder Generator
有没有办法使用自动构建器为Eclipse
中的类创建构建器(Joshua Bloch's Builder Pattern)?例如菜单中的选项、插件或其他东西。我在“Refactor
”下找不到任何内容。
您可以添加自己的模板 window -> 首选项 -> java -> 编辑器 -> 模板,这将通过内容提案激活,但不会通过重构操作激活
您可能需要查看 lombok 注释以生成没有样板代码的构建器。例如:
@Builder
public class MyPojo {
private String name;
}
MyPojoBuilder.builder().name("yourame").build();
限制是这似乎不适用于抽象 类。
也许我迟到了。
Eclipse 本身不提供生成代码以支持构建器模式的方法。然而,它可以通过插件进行扩展以增强功能。
我用的是这个插件:
https://github.com/henningjensen/bpep
编辑:5 年后,重新审视这个话题,建议使用已经成为行业标准的 lombok,它也是 IDE 不可知论者 ==> 如果你的队友使用各种 IDEs.
尝试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;
}
}
我目前使用 Spark Builder Generator 和 Eclipse Neon.1a 版本 (4.6.1),它运行良好。
- https://marketplace.eclipse.org/content/sparkbuildergenerator
- https://github.com/helospark/SparkBuilderGenerator
You can set the preferences under:
Window->Preferences->Java->Spark Builder Generator