All Projects → analytically → Innerbuilder

analytically / Innerbuilder

Licence: apache-2.0
IntelliJ IDEA plugin which generates an inner builder class.

Programming Languages

java
68154 projects - #9 most used programming language

innerbuilder Build Status

IntelliJ IDEA plugin that adds a 'Builder' action to the Generate menu (Alt+Insert) which generates an inner builder class as described in Effective Java. Works with IntelliJ IDEA 12.x, 13.x, 14.x, 15.x, 2016.x and 2017.x, 2018.x, 2019.x and 2020.x.

screenshot

public class YourTypicalBean {
    private final String foo;
    private String bar, baz;
    private int qux;

    private YourTypicalBean(Builder builder) {
        foo = builder.foo;
        bar = builder.bar;
        baz = builder.baz;
        setQux(builder.qux);
    }

    public void setQux(int qux) {
        this.qux = qux;
    }

    public static final class Builder {
        private final String foo;
        private String bar;
        private String baz;
        private int qux;

        public Builder(String foo) {
            this.foo = foo;
        }

        public Builder bar(String val) {
            bar = val;
            return this;
        }

        public Builder baz(String val) {
            baz = val;
            return this;
        }

        public Builder qux(int val) {
            qux = val;
            return this;
        }

        public YourTypicalBean build() {
            return new YourTypicalBean(this);
        }
    }
}

Installation

In IntelliJ IDEA 12.x or later, go to File > Settings > Plugins. Click the Browse repositories button, in the search field, type innerbuilder. It should show up in the plugin list. Right-click it and select Download and Install.

Manual installation

Download the plugin jar innerbuilder.jar and select "Install Plugin From Disk" in IntelliJ's plugin preferences.

Usage

Use Shift+Alt+B or Alt+Insert and select Builder.... Choose the fields to be included and press OK. When generating a builder when a builder already exists, the plugin will try to update it. It will add missing fields and builder methods, but never remove any fields or methods.

Rate

If you enjoy this plugin, please rate it on it's plugins.jetbrains.com page.

Building

  • Run ./prepare-build.sh to download dependencies.
  • Run mvn package. It will download IntelliJ IDEA Community Edition to unpack jars and use them to compile the plugin.

License

Licensed under the Apache License, Version 2.0.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].