Randgalt/record-builder

Builder construction

Opened this issue · 2 comments

Given a record named Foo a builder named FooBuilder is generated.

To generate a builder you have to do FooBuilder.builder() which feels a bit long winded and repetitive.

Potential solutions:

  • Make the generated constructor public so we can do new FooBuilder() (which is what the existing static .builder() method wraps)
  • Generate a static method named fooBuilder instead of/or as well as builder. This has the advantage of being able to static import it as currently builder() loses context if you do that.

Just realised I can use this option to overwrite it:

boolean publicBuilderConstructors() default false;

So that solves my problem, though I wonder if the default should be true :)

Though the above doesn't help with Staged builders as using the public constructor bypasses the staging...