From c1039553b088dc45d272b942d930414d3224b06c Mon Sep 17 00:00:00 2001 From: Reinier Zwitserloot Date: Tue, 9 Jul 2019 00:10:36 +0200 Subject: [builder] added a feature: you can now configure builder class name via the config system --- .../resource/after-delombok/BuilderComplex.java | 18 ++++----- .../resource/after-delombok/BuilderCustomName.java | 47 ++++++++++++++++++++++ .../resource/after-ecj/BuilderComplex.java | 18 ++++----- .../resource/after-ecj/BuilderCustomName.java | 37 +++++++++++++++++ test/transform/resource/before/BuilderComplex.java | 1 + .../resource/before/BuilderCustomName.java | 7 ++++ test/transform/resource/before/BuilderJavadoc.java | 5 +-- 7 files changed, 112 insertions(+), 21 deletions(-) create mode 100644 test/transform/resource/after-delombok/BuilderCustomName.java create mode 100644 test/transform/resource/after-ecj/BuilderCustomName.java create mode 100644 test/transform/resource/before/BuilderCustomName.java (limited to 'test') diff --git a/test/transform/resource/after-delombok/BuilderComplex.java b/test/transform/resource/after-delombok/BuilderComplex.java index a89d7114..c63d7b59 100644 --- a/test/transform/resource/after-delombok/BuilderComplex.java +++ b/test/transform/resource/after-delombok/BuilderComplex.java @@ -3,7 +3,7 @@ class BuilderComplex { private static void testVoidWithGenerics(T number, int arg2, String arg3, BuilderComplex selfRef) { } @java.lang.SuppressWarnings("all") - public static class VoidBuilder { + public static class TestVoidName { @java.lang.SuppressWarnings("all") private T number; @java.lang.SuppressWarnings("all") @@ -13,25 +13,25 @@ class BuilderComplex { @java.lang.SuppressWarnings("all") private BuilderComplex selfRef; @java.lang.SuppressWarnings("all") - VoidBuilder() { + TestVoidName() { } @java.lang.SuppressWarnings("all") - public VoidBuilder number(final T number) { + public TestVoidName number(final T number) { this.number = number; return this; } @java.lang.SuppressWarnings("all") - public VoidBuilder arg2(final int arg2) { + public TestVoidName arg2(final int arg2) { this.arg2 = arg2; return this; } @java.lang.SuppressWarnings("all") - public VoidBuilder arg3(final String arg3) { + public TestVoidName arg3(final String arg3) { this.arg3 = arg3; return this; } @java.lang.SuppressWarnings("all") - public VoidBuilder selfRef(final BuilderComplex selfRef) { + public TestVoidName selfRef(final BuilderComplex selfRef) { this.selfRef = selfRef; return this; } @@ -42,11 +42,11 @@ class BuilderComplex { @java.lang.Override @java.lang.SuppressWarnings("all") public java.lang.String toString() { - return "BuilderComplex.VoidBuilder(number=" + this.number + ", arg2=" + this.arg2 + ", arg3=" + this.arg3 + ", selfRef=" + this.selfRef + ")"; + return "BuilderComplex.TestVoidName(number=" + this.number + ", arg2=" + this.arg2 + ", arg3=" + this.arg3 + ", selfRef=" + this.selfRef + ")"; } } @java.lang.SuppressWarnings("all") - public static VoidBuilder builder() { - return new VoidBuilder(); + public static TestVoidName builder() { + return new TestVoidName(); } } diff --git a/test/transform/resource/after-delombok/BuilderCustomName.java b/test/transform/resource/after-delombok/BuilderCustomName.java new file mode 100644 index 00000000..4db08220 --- /dev/null +++ b/test/transform/resource/after-delombok/BuilderCustomName.java @@ -0,0 +1,47 @@ +import java.util.List; +class BuilderCustomName { + private final int field; + @java.lang.SuppressWarnings("all") + public static abstract class SimpleTestBuilder, B extends SimpleTestBuilder> { + @java.lang.SuppressWarnings("all") + private int field; + @java.lang.SuppressWarnings("all") + protected abstract B self(); + @java.lang.SuppressWarnings("all") + public abstract C build(); + @java.lang.SuppressWarnings("all") + public B field(final int field) { + this.field = field; + return self(); + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public java.lang.String toString() { + return "BuilderCustomName.SimpleTestBuilder(field=" + this.field + ")"; + } + } + @java.lang.SuppressWarnings("all") + private static final class SimpleTestBuilderImpl extends SimpleTestBuilder, SimpleTestBuilderImpl> { + @java.lang.SuppressWarnings("all") + private SimpleTestBuilderImpl() { + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + protected SimpleTestBuilderImpl self() { + return this; + } + @java.lang.Override + @java.lang.SuppressWarnings("all") + public BuilderCustomName build() { + return new BuilderCustomName(this); + } + } + @java.lang.SuppressWarnings("all") + protected BuilderCustomName(final SimpleTestBuilder b) { + this.field = b.field; + } + @java.lang.SuppressWarnings("all") + public static SimpleTestBuilder builder() { + return new SimpleTestBuilderImpl(); + } +} \ No newline at end of file diff --git a/test/transform/resource/after-ecj/BuilderComplex.java b/test/transform/resource/after-ecj/BuilderComplex.java index 93d70fe9..23dbf058 100644 --- a/test/transform/resource/after-ecj/BuilderComplex.java +++ b/test/transform/resource/after-ecj/BuilderComplex.java @@ -1,27 +1,27 @@ import java.util.List; import lombok.Builder; class BuilderComplex { - public static @java.lang.SuppressWarnings("all") class VoidBuilder { + public static @java.lang.SuppressWarnings("all") class TestVoidName { private @java.lang.SuppressWarnings("all") T number; private @java.lang.SuppressWarnings("all") int arg2; private @java.lang.SuppressWarnings("all") String arg3; private @java.lang.SuppressWarnings("all") BuilderComplex selfRef; - @java.lang.SuppressWarnings("all") VoidBuilder() { + @java.lang.SuppressWarnings("all") TestVoidName() { super(); } - public @java.lang.SuppressWarnings("all") VoidBuilder number(final T number) { + public @java.lang.SuppressWarnings("all") TestVoidName number(final T number) { this.number = number; return this; } - public @java.lang.SuppressWarnings("all") VoidBuilder arg2(final int arg2) { + public @java.lang.SuppressWarnings("all") TestVoidName arg2(final int arg2) { this.arg2 = arg2; return this; } - public @java.lang.SuppressWarnings("all") VoidBuilder arg3(final String arg3) { + public @java.lang.SuppressWarnings("all") TestVoidName arg3(final String arg3) { this.arg3 = arg3; return this; } - public @java.lang.SuppressWarnings("all") VoidBuilder selfRef(final BuilderComplex selfRef) { + public @java.lang.SuppressWarnings("all") TestVoidName selfRef(final BuilderComplex selfRef) { this.selfRef = selfRef; return this; } @@ -29,7 +29,7 @@ class BuilderComplex { BuilderComplex.testVoidWithGenerics(number, arg2, arg3, selfRef); } public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { - return (((((((("BuilderComplex.VoidBuilder(number=" + this.number) + ", arg2=") + this.arg2) + ", arg3=") + this.arg3) + ", selfRef=") + this.selfRef) + ")"); + return (((((((("BuilderComplex.TestVoidName(number=" + this.number) + ", arg2=") + this.arg2) + ", arg3=") + this.arg3) + ", selfRef=") + this.selfRef) + ")"); } } BuilderComplex() { @@ -37,7 +37,7 @@ class BuilderComplex { } private static @Builder(buildMethodName = "execute") void testVoidWithGenerics(T number, int arg2, String arg3, BuilderComplex selfRef) { } - public static @java.lang.SuppressWarnings("all") VoidBuilder builder() { - return new VoidBuilder(); + public static @java.lang.SuppressWarnings("all") TestVoidName builder() { + return new TestVoidName(); } } diff --git a/test/transform/resource/after-ecj/BuilderCustomName.java b/test/transform/resource/after-ecj/BuilderCustomName.java new file mode 100644 index 00000000..1067a9d1 --- /dev/null +++ b/test/transform/resource/after-ecj/BuilderCustomName.java @@ -0,0 +1,37 @@ +import java.util.List; +@lombok.experimental.SuperBuilder class BuilderCustomName { + public static abstract @java.lang.SuppressWarnings("all") class SimpleTestBuilder, B extends SimpleTestBuilder> { + private @java.lang.SuppressWarnings("all") int field; + public SimpleTestBuilder() { + super(); + } + protected abstract @java.lang.SuppressWarnings("all") B self(); + public abstract @java.lang.SuppressWarnings("all") C build(); + public @java.lang.SuppressWarnings("all") B field(final int field) { + this.field = field; + return self(); + } + public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() { + return (("BuilderCustomName.SimpleTestBuilder(field=" + this.field) + ")"); + } + } + private static final @java.lang.SuppressWarnings("all") class SimpleTestBuilderImpl extends SimpleTestBuilder, SimpleTestBuilderImpl> { + private SimpleTestBuilderImpl() { + super(); + } + protected @java.lang.Override @java.lang.SuppressWarnings("all") SimpleTestBuilderImpl self() { + return this; + } + public @java.lang.Override @java.lang.SuppressWarnings("all") BuilderCustomName build() { + return new BuilderCustomName(this); + } + } + private final int field; + protected @java.lang.SuppressWarnings("all") BuilderCustomName(final SimpleTestBuilder b) { + super(); + this.field = b.field; + } + public static @java.lang.SuppressWarnings("all") SimpleTestBuilder builder() { + return new SimpleTestBuilderImpl(); + } +} diff --git a/test/transform/resource/before/BuilderComplex.java b/test/transform/resource/before/BuilderComplex.java index c13f5877..46f62721 100644 --- a/test/transform/resource/before/BuilderComplex.java +++ b/test/transform/resource/before/BuilderComplex.java @@ -1,3 +1,4 @@ +//CONF: lombok.builder.className = Test*Name import java.util.List; import lombok.Builder; diff --git a/test/transform/resource/before/BuilderCustomName.java b/test/transform/resource/before/BuilderCustomName.java new file mode 100644 index 00000000..d5709e63 --- /dev/null +++ b/test/transform/resource/before/BuilderCustomName.java @@ -0,0 +1,7 @@ +//CONF: lombok.builder.className = SimpleTestBuilder +import java.util.List; + +@lombok.experimental.SuperBuilder +class BuilderCustomName { + private final int field; +} diff --git a/test/transform/resource/before/BuilderJavadoc.java b/test/transform/resource/before/BuilderJavadoc.java index c2e0a6e0..390e2096 100644 --- a/test/transform/resource/before/BuilderJavadoc.java +++ b/test/transform/resource/before/BuilderJavadoc.java @@ -4,7 +4,7 @@ import java.util.List; class BuilderJavadoc { /** * basic gets only a builder setter. - * @see #getsetwith + * @see #getsetwith * @param tag is moved to the setter. * @return tag is removed from the setter. */ @@ -49,6 +49,5 @@ class BuilderJavadoc { this.predefWithJavadoc = x * 100; return this; } - } - + } } -- cgit