From d45e50fa995ac298da4e0b5c294a6520cb0eea70 Mon Sep 17 00:00:00 2001 From: Chirag Dewan Date: Sun, 4 Aug 2019 13:21:06 +0530 Subject: [PATCH] BAEL-2990 Automatic generation of the Builder pattern with FreeBuilder --- patterns/design-patterns-2/pom.xml | 13 +++++++++++++ .../java/com/baeldung/freebuilder}/Address.java | 2 +- .../java/com/baeldung/freebuilder/Employee.java | 2 -- .../com/baeldung/freebuilder/builder}/Employee.java | 2 +- .../freebuilder/EmployeeBuilderUnitTest.java | 10 ++++------ .../builder}/EmployeeBuilderUnitTest.java | 2 +- 6 files changed, 20 insertions(+), 11 deletions(-) rename {libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic => patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder}/Address.java (88%) rename {libraries-2 => patterns/design-patterns-2}/src/main/java/com/baeldung/freebuilder/Employee.java (92%) rename {libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic => patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/builder}/Employee.java (95%) rename {libraries-2 => patterns/design-patterns-2}/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java (99%) rename {libraries-2/src/test/java/com/baeldung/freebuilder/builder/classic => patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/builder}/EmployeeBuilderUnitTest.java (91%) diff --git a/patterns/design-patterns-2/pom.xml b/patterns/design-patterns-2/pom.xml index 392035ab84..17afff87ae 100644 --- a/patterns/design-patterns-2/pom.xml +++ b/patterns/design-patterns-2/pom.xml @@ -30,6 +30,17 @@ org.apache.commons commons-lang3 ${commons-lang3.version} + + + org.inferred + freebuilder + ${freebuilder.version} + true + + + com.google.code.findbugs + jsr305 + ${javax.annotations.version} @@ -38,5 +49,7 @@ 1.8 1.8 16.0.2 + 2.4.1 + 3.0.2 diff --git a/libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Address.java b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Address.java similarity index 88% rename from libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Address.java rename to patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Address.java index 8e53a9f155..6d727f6d9f 100644 --- a/libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Address.java +++ b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Address.java @@ -1,4 +1,4 @@ -package com.baeldung.freebuilder.builder.classic; +package com.baeldung.freebuilder; import org.inferred.freebuilder.FreeBuilder; diff --git a/libraries-2/src/main/java/com/baeldung/freebuilder/Employee.java b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Employee.java similarity index 92% rename from libraries-2/src/main/java/com/baeldung/freebuilder/Employee.java rename to patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Employee.java index d486c18a06..06558dde0b 100644 --- a/libraries-2/src/main/java/com/baeldung/freebuilder/Employee.java +++ b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/Employee.java @@ -1,13 +1,11 @@ package com.baeldung.freebuilder; -import com.baeldung.freebuilder.builder.classic.Address; import org.inferred.freebuilder.FreeBuilder; import javax.annotation.Nullable; import java.util.List; import java.util.Map; import java.util.Optional; -import java.util.function.UnaryOperator; @FreeBuilder public interface Employee { diff --git a/libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Employee.java b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/builder/Employee.java similarity index 95% rename from libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Employee.java rename to patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/builder/Employee.java index 6509676cb4..141d734c43 100644 --- a/libraries-2/src/main/java/com/baeldung/freebuilder/builder/classic/Employee.java +++ b/patterns/design-patterns-2/src/main/java/com/baeldung/freebuilder/builder/Employee.java @@ -1,4 +1,4 @@ -package com.baeldung.freebuilder.builder.classic; +package com.baeldung.freebuilder.builder; public class Employee { diff --git a/libraries-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java b/patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java similarity index 99% rename from libraries-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java rename to patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java index 4427d3cb69..d28edfcf3d 100644 --- a/libraries-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java +++ b/patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/EmployeeBuilderUnitTest.java @@ -1,16 +1,14 @@ package com.baeldung.freebuilder; +import org.junit.jupiter.api.Test; + +import java.util.Optional; + import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertNull; import static org.junit.jupiter.api.Assertions.assertTrue; -import java.util.Optional; - -import org.junit.jupiter.api.Test; - -import com.baeldung.freebuilder.builder.classic.Address; - public class EmployeeBuilderUnitTest { private static final int PIN_CODE = 223344; diff --git a/libraries-2/src/test/java/com/baeldung/freebuilder/builder/classic/EmployeeBuilderUnitTest.java b/patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/builder/EmployeeBuilderUnitTest.java similarity index 91% rename from libraries-2/src/test/java/com/baeldung/freebuilder/builder/classic/EmployeeBuilderUnitTest.java rename to patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/builder/EmployeeBuilderUnitTest.java index e54a1dbd78..1394f851b6 100644 --- a/libraries-2/src/test/java/com/baeldung/freebuilder/builder/classic/EmployeeBuilderUnitTest.java +++ b/patterns/design-patterns-2/src/test/java/com/baeldung/freebuilder/builder/EmployeeBuilderUnitTest.java @@ -1,4 +1,4 @@ -package com.baeldung.freebuilder.builder.classic; +package com.baeldung.freebuilder.builder; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Test;