Jilt :Lombok建造器的终极替代


Jilt 是一个Java 注释处理器 ,用于自动生成实现 Builder 设计模式的类。

与同一领域的其他工具相比,Jilt 的“杀手级功能”包括:

  • 支持构建器模式的类型安全(有时也称为分阶段、伸缩或步骤)变体。有关类型安全生成器模式的更多信息,请查看我 关于该主题的博客文章。
  • 能够为任何类生成构建器,并且无需对目标类的源代码进行任何修改。
  • 与其他注释处理器(最引人注目的是Lombok)的无缝互操作性。

Jilt 纯粹是一个代码生成器 - 它不会为您的代码添加任何开销,也不会添加任何运行时依赖项。

Lombok建造器的终极替代品

import org.jilt.Builder;

@Builder
public final class Person {
    public final String name;
    public final boolean isAdult;
    
    public Person(String name, boolean isAdult) {
        this.name = name;
        this.isAdult = isAdult;
    }
}

...Jilt 将生成以下 Builder 代码:

public class PersonBuilder {
    public static PersonBuilder person() {
        return new PersonBuilder();
    }

    private String name;
    private boolean isAdult;

    public PersonBuilder name(String name) {
        this.name = name;
        return this;
    }
    
    public PersonBuilder isAdult(boolean isAdult) {
        this.isAdult = isAdult;
        return this;
    }
    
    public Person build() {
        return new Person(name, isAdult);
    }
}