Lombok @Builder doesn't work for inheritance use cases:
For example
class Foo{ protected int xyz1; ..... protected String xyz7; } class Bar extends Foo{ }
For given use case Lombok will not be able to generate methods to set value of parameter defined in Foo class.
A workaround for this is:
Is there a better workaround ?
Lombok has introduced experimental features with version: 1.18.2 for inheritance issues faced with Builder annotation, and can be resolved with @SuperBuilder annotation as below.
@SuperBuilder public class ParentClass { private final String a; private final String b; } @SuperBuilder public class ChildClass extends ParentClass{ private final String c; }
Now, one can use Builder class as below (that was not possible with @Builder annotation)
ChildClass.builder().a("testA").b("testB").c("testC").build();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With