Skip to content

Conversation

290044632
Copy link

Description for feature

The @builder annotation supports the implementation of java.io.Serializable or specified interfaces. When entity classes are used for serialization in an RPC framework, it is necessary to implement the java.io.Serializable interface.

Example

  • Java Code
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
@Builder(serializable = true)
public class LombokDemo implements Serializable{
    private String name;
}
  • Java Class
import java.io.Serializable;
import lombok.Generated;

public class LombokDemo implements Serializable{
    private String name;

    @Generated
    LombokDemo(String name) {
        this.name = name;
    }

    @Generated
    public static LombokDemoBuilder builder() {
        return new LombokDemoBuilder();
    }

    @Generated
    public String getName() {
        return this.name;
    }

    @Generated
    public void setName(String name) {
        this.name = name;
    }

    @Generated
    public static class LombokDemoBuilder implements Serializable {
        @Generated
        private String name;

        @Generated
        LombokDemoBuilder() {
        }

        @Generated
        public LombokDemoBuilder name(String name) {
            this.name = name;
            return this;
        }

        @Generated
        public LombokDemo build() {
            return new LombokDemo(this.name);
        }

        @Generated
        public String toString() {
            return "LombokDemo.LombokDemoBuilder(name=" + this.name + ")";
        }
    }
}

@290044632 290044632 marked this pull request as draft September 3, 2025 08:09
@290044632 290044632 marked this pull request as ready for review September 3, 2025 08:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant