Automatically create builder for class in Eclipse

后端 未结 5 683
离开以前
离开以前 2020-12-24 10:35

Is there a way to use an automatic builder to create builder (Joshua Bloch\'s Builder Pattern) for classes in Eclipse? For example an option in the men

5条回答
  •  猫巷女王i
    2020-12-24 11:33

    Try 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;
    }
    }
    

提交回复
热议问题