diff options
author | Reinier Zwitserloot <reinier@zwitserloot.com> | 2018-10-29 21:04:59 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-29 21:04:59 +0100 |
commit | fb039c2837430caafbfc165bc4d5cc898e6a9c34 (patch) | |
tree | aa67e829fbd5baf1a15ca621f76bb2f808498469 /test/transform/resource/before | |
parent | d8b882cf7e7078a7946e04eceba4ce18937a28f0 (diff) | |
parent | 97d8094f42b16e9076ad08a35b3164f3e3ad5c87 (diff) | |
download | lombok-fb039c2837430caafbfc165bc4d5cc898e6a9c34.tar.gz lombok-fb039c2837430caafbfc165bc4d5cc898e6a9c34.tar.bz2 lombok-fb039c2837430caafbfc165bc4d5cc898e6a9c34.zip |
Merge pull request #1871 from janrieke/customizableSuperBuilder
Customizable SuperBuilder
Diffstat (limited to 'test/transform/resource/before')
-rw-r--r-- | test/transform/resource/before/SuperBuilderCustomized.java | 33 |
1 files changed, 33 insertions, 0 deletions
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<C extends Parent, B extends ParentBuilder<C, B>> { + 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<Child, ChildBuilderImpl> { + @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(); + } +} |