From 924517d16369041874fe5feaf9468b2f31e2400d Mon Sep 17 00:00:00 2001 From: Ricardo Caldas Date: Tue, 8 Sep 2020 12:11:29 -0300 Subject: [PATCH 1/3] BAEL-2503 Add a new section in Lombok builder article --- .../builder/RequiredFieldAnnotation.java | 19 ++++++++++++++++++ .../lombok/builder/RequiredFieldOverload.java | 20 +++++++++++++++++++ 2 files changed, 39 insertions(+) create mode 100644 lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java create mode 100644 lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java diff --git a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java new file mode 100644 index 0000000000..f09f59baea --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java @@ -0,0 +1,19 @@ +package com.baeldung.lombok.builder; + +import lombok.Builder; +import lombok.NonNull; + +@Builder(builderMethodName = "hiddenBuilder") +public class RequiredFieldAnnotation { + @NonNull + private String name; + private String description; + + public static RequiredFieldAnnotationBuilder builder(String name) { + return hiddenBuilder().name(name); + } + + public void example() { + RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); + } +} diff --git a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java new file mode 100644 index 0000000000..6b123e3cbe --- /dev/null +++ b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java @@ -0,0 +1,20 @@ +package com.baeldung.lombok.builder; + +import lombok.Builder; +import lombok.NonNull; + +@Builder +public class RequiredFieldOverload { + @NonNull + private String name; + private String description; + + public static RequiredFieldOverloadBuilder builder(String name) { + return new RequiredFieldOverloadBuilder().name(name); + } + + public void example() { + RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); + } + +} From 56cbfb1c6f7a6c60653f5c9f00a3c3c6a06645d9 Mon Sep 17 00:00:00 2001 From: Ricardo Caldas Date: Thu, 10 Sep 2020 17:16:46 -0300 Subject: [PATCH 2/3] BAEL-2503 Add a new section in Lombok builder article --- .../builder/RequiredFieldAnnotation.java | 16 +++++++------- .../lombok/builder/RequiredFieldOverload.java | 20 ------------------ .../builder/RequiredFieldAnnotationTest.java | 21 +++++++++++++++++++ 3 files changed, 28 insertions(+), 29 deletions(-) delete mode 100644 lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java create mode 100644 lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java diff --git a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java index f09f59baea..8781101613 100644 --- a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java +++ b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java @@ -1,19 +1,17 @@ package com.baeldung.lombok.builder; import lombok.Builder; +import lombok.Getter; import lombok.NonNull; -@Builder(builderMethodName = "hiddenBuilder") +@Builder(builderMethodName = "internalBuilder") +@Getter public class RequiredFieldAnnotation { - @NonNull - private String name; - private String description; + + @NonNull String name; + String description; public static RequiredFieldAnnotationBuilder builder(String name) { - return hiddenBuilder().name(name); - } - - public void example() { - RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); + return internalBuilder().name(name); } } diff --git a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java deleted file mode 100644 index 6b123e3cbe..0000000000 --- a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldOverload.java +++ /dev/null @@ -1,20 +0,0 @@ -package com.baeldung.lombok.builder; - -import lombok.Builder; -import lombok.NonNull; - -@Builder -public class RequiredFieldOverload { - @NonNull - private String name; - private String description; - - public static RequiredFieldOverloadBuilder builder(String name) { - return new RequiredFieldOverloadBuilder().name(name); - } - - public void example() { - RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); - } - -} diff --git a/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java b/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java new file mode 100644 index 0000000000..9d347327d4 --- /dev/null +++ b/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java @@ -0,0 +1,21 @@ +package com.baeldung.lombok.builder; + +import org.junit.Test; +import org.junit.jupiter.api.BeforeEach; + +import static org.junit.jupiter.api.Assertions.*; + +public class RequiredFieldAnnotationTest { + RequiredFieldAnnotation requiredFieldTest; + + @BeforeEach + void setUp() { + requiredFieldTest = RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); + } + + @Test + public void givenBuilderWithRequiredParameter_thenParameterIsPresent() { + assertEquals(requiredFieldTest.getName(), "NameField"); + } + +} \ No newline at end of file From cb8bae53a250fec6a431b75c73d49df41335d74b Mon Sep 17 00:00:00 2001 From: Ricardo Caldas Date: Sat, 19 Sep 2020 19:58:33 -0300 Subject: [PATCH 3/3] Add a new section in Lombok builder article - Minor Fixes --- .../lombok/builder/RequiredFieldAnnotation.java | 3 ++- ...est.java => RequiredFieldAnnotationUnitTest.java} | 12 ++++++------ 2 files changed, 8 insertions(+), 7 deletions(-) rename lombok/src/test/java/com/baeldung/lombok/builder/{RequiredFieldAnnotationTest.java => RequiredFieldAnnotationUnitTest.java} (58%) diff --git a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java index 8781101613..e2d171b1b0 100644 --- a/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java +++ b/lombok/src/main/java/com/baeldung/lombok/builder/RequiredFieldAnnotation.java @@ -8,7 +8,8 @@ import lombok.NonNull; @Getter public class RequiredFieldAnnotation { - @NonNull String name; + @NonNull + String name; String description; public static RequiredFieldAnnotationBuilder builder(String name) { diff --git a/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java b/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationUnitTest.java similarity index 58% rename from lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java rename to lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationUnitTest.java index 9d347327d4..ee5c3b19aa 100644 --- a/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationTest.java +++ b/lombok/src/test/java/com/baeldung/lombok/builder/RequiredFieldAnnotationUnitTest.java @@ -1,21 +1,21 @@ package com.baeldung.lombok.builder; +import org.junit.Before; import org.junit.Test; -import org.junit.jupiter.api.BeforeEach; -import static org.junit.jupiter.api.Assertions.*; +import static org.junit.jupiter.api.Assertions.assertEquals; -public class RequiredFieldAnnotationTest { +public class RequiredFieldAnnotationUnitTest { RequiredFieldAnnotation requiredFieldTest; - @BeforeEach - void setUp() { + @Before + public void setUp() { requiredFieldTest = RequiredFieldAnnotation.builder("NameField").description("Field Description").build(); } @Test public void givenBuilderWithRequiredParameter_thenParameterIsPresent() { - assertEquals(requiredFieldTest.getName(), "NameField"); + assertEquals("NameField", requiredFieldTest.getName()); } } \ No newline at end of file