1. ホーム
  2. design-patterns

[解決済み] IntelliJでのBuilderパターンコード生成

2023-06-12 03:49:37

質問

IntelliJでBuilderパターンの記述を自動化する方法はありますか?

例えば、こんな簡単なクラスがあったとします。

class Film {
   private String title;
   private int length;

   public void setTitle(String title) {
       this.title = title;
   }

   public String getTitle() {
       return this.title;
   }

   public void setLength(int length) {
       this.length = length;
   }

   public int getLength() {
       return this.length;
   }
}

は、IDEにこれを生成させる方法などはないでしょうか。

public class FilmBuilder {

    Film film;

    public FilmBuilder() {
        film = new Film();
    }

    public FilmBuilder withTitle(String title) {
        film.setTitle(title);
        return this;
    }

    public FilmBuilder withLength(int length) {
        film.setLength(length);
        return this;
    }

    public Film build() {
        return film;
    }
}

どのように解決するのですか?

この場合 コンストラクタをビルダに置き換える リファクタリングを行います。

この機能を使用するには、コード内のコンストラクタのシグネチャをクリックし、右クリックして "Refactor" メニューを選択し、 "Replace Constructor with Builder..." をクリックして、コードを生成するダイアログ ボックスを表示させます。