From 6e2d23fdd7613de9650ffaf00c6e24a6ead0d74b Mon Sep 17 00:00:00 2001 From: Jan Rieke Date: Fri, 7 Feb 2020 14:28:46 +0100 Subject: setter prefixes for SuperBuilder setter prefixes for SuperBuilder [javac] better javadoc for the SuperBuilder setterPrefix value setter prefixes for SuperBuilder [ecj] add test for SuperBuilder setter method customization fix setter method customization with setterPrefix --- .../resource/before/SuperBuilderCustomized.java | 4 +++ .../SuperBuilderCustomizedWithSetterPrefix.java | 18 ++++++++++++ .../before/SuperBuilderWithSetterPrefix.java | 32 ++++++++++++++++++++++ 3 files changed, 54 insertions(+) create mode 100644 test/transform/resource/before/SuperBuilderCustomizedWithSetterPrefix.java create mode 100644 test/transform/resource/before/SuperBuilderWithSetterPrefix.java (limited to 'test/transform/resource/before') diff --git a/test/transform/resource/before/SuperBuilderCustomized.java b/test/transform/resource/before/SuperBuilderCustomized.java index 58f2797c..77830587 100644 --- a/test/transform/resource/before/SuperBuilderCustomized.java +++ b/test/transform/resource/before/SuperBuilderCustomized.java @@ -8,6 +8,10 @@ public class SuperBuilderCustomized { field1 = 0; return self(); } + public B field1(int field1) { + this.field1 = field1 + 1; + return self(); + } } int field1; } diff --git a/test/transform/resource/before/SuperBuilderCustomizedWithSetterPrefix.java b/test/transform/resource/before/SuperBuilderCustomizedWithSetterPrefix.java new file mode 100644 index 00000000..be2cfc4a --- /dev/null +++ b/test/transform/resource/before/SuperBuilderCustomizedWithSetterPrefix.java @@ -0,0 +1,18 @@ +import java.util.List; + +public class SuperBuilderCustomizedWithSetterPrefix { + @lombok.experimental.SuperBuilder(setterPrefix = "set") + public static class Parent { + public static abstract class ParentBuilder> { + public B setField1(int field1) { + this.field1 = field1 + 1; + return self(); + } + } + int field1; + } + + public static void test() { + Parent x = Parent.builder().setField1(5).build(); + } +} diff --git a/test/transform/resource/before/SuperBuilderWithSetterPrefix.java b/test/transform/resource/before/SuperBuilderWithSetterPrefix.java new file mode 100644 index 00000000..5eaef360 --- /dev/null +++ b/test/transform/resource/before/SuperBuilderWithSetterPrefix.java @@ -0,0 +1,32 @@ +import java.util.List; + +public class SuperBuilderWithSetterPrefix { + @lombok.experimental.SuperBuilder(toBuilder=true, setterPrefix = "with") + public static class Parent { + private int field1; + @lombok.Builder.ObtainVia(field="field1") + int obtainViaField; + @lombok.Builder.ObtainVia(method="method") + int obtainViaMethod; + @lombok.Builder.ObtainVia(method = "staticMethod", isStatic = true) + String obtainViaStaticMethod; + @lombok.Singular List items; + + private int method() { + return 2; + } + + private static String staticMethod(Parent instance) { + return "staticMethod"; + } + } + + @lombok.experimental.SuperBuilder(toBuilder=true, setterPrefix = "set") + public static class Child extends Parent { + private double field3; + } + + public static void test() { + Child x = Child.builder().setField3(0.0).withField1(5).withItem("").build().toBuilder().build(); + } +} -- cgit