From a454fd74cf040b3aa4f061377478d784bd2157ff Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Mon, 24 Sep 2018 17:48:03 +0200 Subject: SuperBuilder: allow customization of selected methods --- .../resource/before/SuperBuilderCustomized.java | 33 ++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 test/transform/resource/before/SuperBuilderCustomized.java (limited to 'test/transform/resource/before') diff --git a/test/transform/resource/before/SuperBuilderCustomized.java b/test/transform/resource/before/SuperBuilderCustomized.java new file mode 100644 index 00000000..58f2797c --- /dev/null +++ b/test/transform/resource/before/SuperBuilderCustomized.java @@ -0,0 +1,33 @@ +import java.util.List; + +public class SuperBuilderCustomized { + @lombok.experimental.SuperBuilder + public static class Parent { + public static abstract class ParentBuilder> { + public B resetToDefault() { + field1 = 0; + return self(); + } + } + int field1; + } + + @lombok.experimental.SuperBuilder + public static class Child extends Parent { + private static final class ChildBuilderImpl extends ChildBuilder { + @Override + public Child build() { + this.resetToDefault(); + return new Child(this); + } + } + double field2; + public static ChildBuilder builder() { + return new ChildBuilderImpl().field2(10.0); + } + } + + public static void test() { + Child x = Child.builder().field2(1.0).field1(5).resetToDefault().build(); + } +} -- cgit