Builders for Java records, dead simple!
Find a file
2025-03-19 20:41:21 +01:00
record-builder Update dependency org.apache.maven.plugins:maven-resources-plugin to v3.3.1 2025-03-19 20:25:15 +01:00
record-builder-test Enable annotation processing (Java 21+) 2025-03-19 20:41:21 +01:00
.gitignore Remove VS Code IDE files 2025-03-19 20:37:23 +01:00
LICENSE Annotation processor to generate dead simple builder 2022-11-04 00:36:44 +01:00
pom.xml Enable annotation processing (Java 21+) 2025-03-19 20:41:21 +01:00
README.md Annotation processor to generate dead simple builder 2022-11-04 00:36:44 +01:00
renovate.json Add renovate.json 2025-03-19 19:23:17 +00:00

record-builder

Builders for Java records, dead simple!

Quick Start

Maven pom.xml:

    <dependency>
      <groupId>com.github.phoswald</groupId>
      <artifactId>record-builder</artifactId>
      <version>0.1.0</version>
      <scope>provided</scope>
    </dependency>

Java record:

@RecordBuilder
public record SimpleRecord(int intArg, String stringArg, List<String> listArg) { }

Usage:

        // Create a new instance from a builder:
        SimpleRecord rec1 = new SimpleRecordBuilder()
                .intArg(42)
                .stringArg("str")
                .listArg(singletonList("elem"))
                .build();

        // Create a builder from an existing instance:
        SimpleRecord rec2 = new SimpleRecordBuilder(rec1)
                .intArg(43)
                .build();