[promotion] SuperBuilder promoted to main package.

This commit is contained in:
Reinier Zwitserloot committed 2026-08-07 01:11:31 +02:00
1 parent ad8a656158
commit 2e177996fb
87 files changed
+535 -140

No files matched your search

+1
View File
@@ -3,6 +3,7 @@ Lombok Changelog
### v1.18.47 "Edgy Guinea Pig"
* BUGFIX: `@SneakyThrows` usage on JDK26 no longer results in class files that require `lombok.jar` to be on the runtime classpath (which should not be neccessary). [#4040](https://github.com/projectlombok/lombok/issues/4022).
* PROMOTION: `@SuperBuilder` has been promoted to the main package. Otherwise, no changes have been made to the annotation. The old experimental annotation will remain for a few versions, at which point it will be marked as a deprecated annotation. Eventually it'll be removed. If you had `lombok.config` configuration for this annotation, the configuration keys for this feature have been renamed.
### v1.18.46 (April 22nd, 2026)
* PLATFORM: JDK26 support added [#4019](https://github.com/projectlombok/lombok/issues/4019).
+82
View File
@@ -0,0 +1,82 @@
/*
* Copyright (C) 2018-2026 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
* THE SOFTWARE.
*/
package lombok;
import static java.lang.annotation.ElementType.*;
import static java.lang.annotation.RetentionPolicy.*;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
/**
* The SuperBuilder annotation creates a so-called 'builder' aspect to the class that is annotated with {@code @SuperBuilder}, but which works well when extending.
* It is similar to {@code @Builder}, except it is only legal on types, is less configurable, but allows you to {@code extends} other builder-able classes.
* <p>
* All classes in the hierarchy must be annotated with {@code @SuperBuilder}.
* <p>
* Lombok generates 2 inner 'builder' classes, which extend the parent class' builder class (unless your class doesn't have an extends clause).
* Lombok also generates a static method named {@code builder()}, and a protected constructor that takes 1 argument of the builderclass type.
* <p>
* The <code><strong>T</strong>Builder</code> class contains 1 method for each parameter of the annotated
* constructor / method (each field, when annotating a class), which returns the builder itself.
* The builder also has a {@code build()} method which returns a completed instance of the original type.
* <p>
* Complete documentation is found at <a href="https://projectlombok.org/features/SuperBuilder">the project lombok features page for &#64;SuperBuilder</a>.
*
* @see Singular
*/
@Target(TYPE)
@Retention(SOURCE)
public @interface SuperBuilder {
/** @return Name of the method that creates a new builder instance. Default: {@code builder}. If the empty string, suppress generating the {@code builder} method. */
String builderMethodName() default "builder";
/** @return Name of the method in the builder class that creates an instance of your {@code @Builder}-annotated class. */
String buildMethodName() default "build";
/**
* If {@code true}, generate an instance method to obtain a builder that is initialized with the values of this instance.
* In this case, all superclasses must also have {@code toBuilder=true}.
*
* @return Whether to generate a {@code toBuilder()} method.
*/
boolean toBuilder() default false;
/**
* Prefix to prepend to 'set' methods in the generated builder class. By default, generated methods do not include a prefix.
*
* For example, a method normally generated as {@code someField(String someField)} would instead be
* generated as {@code withSomeField(String someField)} if using {@code @SuperBuilder(setterPrefix = "with")}.
*
* Note that using "with" to prefix builder setter methods is strongly discouraged as "with" normally
* suggests immutable data structures, and builders by definition are mutable objects.
*
* For {@code @Singular} fields, the generated methods are called {@code withName}, {@code withNames}, and {@code clearNames}, instead of
* the default {@code name}, {@code names}, and {@code clearNames}.
*
* This prefix only applies to the 'set' methods for the fields of the annotated class.
* For consistency reasons, you should use the same prefix on all superclasses and subclasses that use {@code @SuperBuilder}.
*
* @return The prefix to prepend to generated method names.
*/
String setterPrefix() default "";
}
@@ -47,6 +47,7 @@ public class LombokInternalAliasing {
m1.put("lombok.experimental.var", "lombok.var");
m1.put("lombok.Delegate", "lombok.experimental.Delegate");
m1.put("lombok.experimental.Wither", "lombok.With");
m1.put("lombok.experimental.SuperBuilder", "lombok.SuperBuilder");
ALIASES = Collections.unmodifiableMap(m1);
Map<String, Collection<String>> m2 = new HashMap<String, Collection<String>>();
@@ -30,7 +30,7 @@ import lombok.core.AnnotationValues;
import lombok.core.HandlerPriority;
import lombok.eclipse.EclipseAnnotationHandler;
import lombok.eclipse.EclipseNode;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.spi.Provides;
@Provides
@@ -41,7 +41,7 @@ public class HandleBuilderDefault extends EclipseAnnotationHandler<Builder.Defau
if (annotatedField.getKind() != Kind.FIELD) return;
EclipseNode classWithAnnotatedField = annotatedField.up();
if (!hasAnnotation(Builder.class, classWithAnnotatedField) && !hasAnnotation("lombok.experimental.Builder", classWithAnnotatedField)
&& !hasAnnotation(SuperBuilder.class, classWithAnnotatedField)) {
&& !hasAnnotation(SuperBuilder.class, classWithAnnotatedField) && !hasAnnotation("lombok.experimental.SuperBuilder", classWithAnnotatedField)) {
annotationNode.addWarning("@Builder.Default requires @Builder or @SuperBuilder on the class for it to mean anything.");
}
}
@@ -50,7 +50,7 @@ import lombok.core.handlers.HandlerUtil;
import lombok.eclipse.EclipseAnnotationHandler;
import lombok.eclipse.EclipseNode;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
import lombok.spi.Provides;
@@ -100,7 +100,7 @@ import lombok.eclipse.handlers.EclipseSingularsRecipes.TypeReferenceMaker;
import lombok.eclipse.handlers.HandleBuilder.BuilderFieldData;
import lombok.eclipse.handlers.HandleBuilder.BuilderJob;
import lombok.experimental.NonFinal;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.spi.Provides;
@Provides
@@ -151,7 +151,6 @@ public class HandleSuperBuilder extends EclipseAnnotationHandler<SuperBuilder> {
}
@Override public void handle(AnnotationValues<SuperBuilder> annotation, Annotation ast, EclipseNode annotationNode) {
handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.SUPERBUILDER_FLAG_USAGE, "@SuperBuilder");
SuperBuilderJob job = new SuperBuilderJob();
job.sourceNode = annotationNode;
job.source = ast;
@@ -1,5 +1,5 @@
/*
* Copyright (C) 2018-2025 The Project Lombok Authors.
* Copyright (C) 2018-2026 The Project Lombok Authors.
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
@@ -33,6 +33,8 @@ import lombok.Singular;
* The SuperBuilder annotation creates a so-called 'builder' aspect to the class that is annotated with {@code @SuperBuilder}, but which works well when extending.
* It is similar to {@code @Builder}, except it is only legal on types, is less configurable, but allows you to {@code extends} other builder-able classes.
* <p>
* <strong>NB: {@code @SuperBuilder} has been moved to the main package; update your lombok dependencies and search/replace all {@code import lombok.experimental.SuperBuilder} to {@code import lombok.SuperBuilder}.</strong>
* <p>
* All classes in the hierarchy must be annotated with {@code @SuperBuilder}.
* <p>
* Lombok generates 2 inner 'builder' classes, which extend the parent class' builder class (unless your class doesn't have an extends clause).
@@ -42,10 +44,11 @@ import lombok.Singular;
* constructor / method (each field, when annotating a class), which returns the builder itself.
* The builder also has a {@code build()} method which returns a completed instance of the original type.
* <p>
* Complete documentation is found at <a href="https://projectlombok.org/features/experimental/SuperBuilder">the project lombok features page for &#64;SuperBuilder</a>.
* Complete documentation is found at <a href="https://projectlombok.org/features/SuperBuilder">the project lombok features page for &#64;SuperBuilder</a>.
*
* @see Singular
*/
// @Deprecated // First release on or after 2027-06-01: Deprecate this type, with text: @deprecated {@code SuperBuilder} has been promoted to the main package; use {@link lombok.SuperBuilder} instead.
@Target(TYPE)
@Retention(SOURCE)
public @interface SuperBuilder {
+1 -1
View File
@@ -29,7 +29,7 @@ import java.lang.annotation.Target;
import lombok.Builder;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
/**
* The {@code @Jacksonized} annotation is an add-on annotation for
@@ -31,7 +31,7 @@ import lombok.Builder;
import lombok.core.AST.Kind;
import lombok.core.AnnotationValues;
import lombok.core.HandlerPriority;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.spi.Provides;
@@ -44,7 +44,7 @@ public class HandleBuilderDefault extends JavacAnnotationHandler<Builder.Default
if (annotatedField.getKind() != Kind.FIELD) return;
JavacNode classWithAnnotatedField = annotatedField.up();
if (!hasAnnotation(Builder.class, classWithAnnotatedField) && !hasAnnotation("lombok.experimental.Builder", classWithAnnotatedField)
&& !hasAnnotation(SuperBuilder.class, classWithAnnotatedField)) {
&& !hasAnnotation(SuperBuilder.class, classWithAnnotatedField) && !hasAnnotation("lombok.experimental.SuperBuilder", classWithAnnotatedField)) {
annotationNode.addWarning("@Builder.Default requires @Builder or @SuperBuilder on the class for it to mean anything.");
deleteAnnotationIfNeccessary(annotationNode, Builder.Default.class);
}
@@ -49,7 +49,7 @@ import lombok.core.JacksonAnnotationType;
import lombok.core.configuration.JacksonVersion;
import lombok.core.handlers.HandlerUtil;
import lombok.experimental.Accessors;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.extern.jackson.Jacksonized;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
@@ -71,7 +71,7 @@ import lombok.core.handlers.HandlerUtil;
import lombok.core.handlers.HandlerUtil.FieldAccess;
import lombok.core.handlers.InclusionExclusionUtils.Included;
import lombok.experimental.NonFinal;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.javac.Javac;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
@@ -132,7 +132,6 @@ public class HandleSuperBuilder extends JavacAnnotationHandler<SuperBuilder> {
@Override
public void handle(AnnotationValues<SuperBuilder> annotation, JCAnnotation ast, JavacNode annotationNode) {
handleExperimentalFlagUsage(annotationNode, ConfigurationKeys.SUPERBUILDER_FLAG_USAGE, "@SuperBuilder");
SuperBuilderJob job = new SuperBuilderJob();
job.sourceNode = annotationNode;
job.checkerFramework = getCheckerFrameworkVersion(annotationNode);
@@ -28,7 +28,7 @@ import com.sun.tools.javac.tree.JCTree.JCAnnotation;
import lombok.core.AlreadyHandledAnnotations;
import lombok.core.AnnotationValues;
import lombok.core.HandlerPriority;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.javac.JavacAnnotationHandler;
import lombok.javac.JavacNode;
import lombok.spi.Provides;
@@ -1,6 +1,6 @@
package pkg;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
@SuperBuilder
public class A {
@@ -0,0 +1,170 @@
import java.util.List;
public class SuperBuilderExperimental {
public static class Parent {
int field1;
List<String> items;
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class ParentBuilder<C extends SuperBuilderExperimental.Parent, B extends SuperBuilderExperimental.Parent.ParentBuilder<C, B>> {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private int field1;
@java.lang.SuppressWarnings("all")
@lombok.Generated
private java.util.ArrayList<String> items;
/**
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B field1(final int field1) {
this.field1 = field1;
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B item(final String item) {
if (this.items == null) this.items = new java.util.ArrayList<String>();
this.items.add(item);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B items(final java.util.Collection<? extends String> items) {
if (items == null) {
throw new java.lang.NullPointerException("items cannot be null");
}
if (this.items == null) this.items = new java.util.ArrayList<String>();
this.items.addAll(items);
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B clearItems() {
if (this.items != null) this.items.clear();
return self();
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "SuperBuilderExperimental.Parent.ParentBuilder(field1=" + this.field1 + ", items=" + this.items + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final class ParentBuilderImpl extends SuperBuilderExperimental.Parent.ParentBuilder<SuperBuilderExperimental.Parent, SuperBuilderExperimental.Parent.ParentBuilderImpl> {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private ParentBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected SuperBuilderExperimental.Parent.ParentBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public SuperBuilderExperimental.Parent build() {
return new SuperBuilderExperimental.Parent(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected Parent(final SuperBuilderExperimental.Parent.ParentBuilder<?, ?> b) {
this.field1 = b.field1;
java.util.List<String> items;
switch (b.items == null ? 0 : b.items.size()) {
case 0:
items = java.util.Collections.emptyList();
break;
case 1:
items = java.util.Collections.singletonList(b.items.get(0));
break;
default:
items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(b.items));
}
this.items = items;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static SuperBuilderExperimental.Parent.ParentBuilder<?, ?> builder() {
return new SuperBuilderExperimental.Parent.ParentBuilderImpl();
}
}
public static class Child extends SuperBuilderExperimental.Parent {
double field3;
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static abstract class ChildBuilder<C extends SuperBuilderExperimental.Child, B extends SuperBuilderExperimental.Child.ChildBuilder<C, B>> extends SuperBuilderExperimental.Parent.ParentBuilder<C, B> {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private double field3;
/**
* @return {@code this}.
*/
@java.lang.SuppressWarnings("all")
@lombok.Generated
public B field3(final double field3) {
this.field3 = field3;
return self();
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected abstract B self();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public abstract C build();
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public java.lang.String toString() {
return "SuperBuilderExperimental.Child.ChildBuilder(super=" + super.toString() + ", field3=" + this.field3 + ")";
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
private static final class ChildBuilderImpl extends SuperBuilderExperimental.Child.ChildBuilder<SuperBuilderExperimental.Child, SuperBuilderExperimental.Child.ChildBuilderImpl> {
@java.lang.SuppressWarnings("all")
@lombok.Generated
private ChildBuilderImpl() {
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected SuperBuilderExperimental.Child.ChildBuilderImpl self() {
return this;
}
@java.lang.Override
@java.lang.SuppressWarnings("all")
@lombok.Generated
public SuperBuilderExperimental.Child build() {
return new SuperBuilderExperimental.Child(this);
}
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
protected Child(final SuperBuilderExperimental.Child.ChildBuilder<?, ?> b) {
super(b);
this.field3 = b.field3;
}
@java.lang.SuppressWarnings("all")
@lombok.Generated
public static SuperBuilderExperimental.Child.ChildBuilder<?, ?> builder() {
return new SuperBuilderExperimental.Child.ChildBuilderImpl();
}
}
public static void test() {
Child x = Child.builder().field3(0.0).field1(5).item("").build();
}
}
@@ -1,7 +1,7 @@
import java.util.List;
import lombok.Singular;
class CheckerFrameworkSuperBuilder {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends CheckerFrameworkSuperBuilder.Parent, B extends CheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int x$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean x$set;
@@ -103,7 +103,7 @@ class CheckerFrameworkSuperBuilder {
return new CheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class ZChild extends Parent {
public static @lombok.SuperBuilder class ZChild extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ZChildBuilder<C extends CheckerFrameworkSuperBuilder.ZChild, B extends CheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int a$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean a$set;
@@ -1,6 +1,6 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.Builder;
@NoArgsConstructor @AllArgsConstructor @SuperBuilder class ConstructorsWithSuperBuilderDefaults {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ConstructorsWithSuperBuilderDefaultsBuilder<C extends ConstructorsWithSuperBuilderDefaults, B extends ConstructorsWithSuperBuilderDefaults.ConstructorsWithSuperBuilderDefaultsBuilder<C, B>> {
@@ -1,5 +1,5 @@
public class JacksonizedSuperBuilderSimple {
public static @lombok.extern.jackson.Jacksonized @lombok.experimental.SuperBuilder @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) class Parent {
public static @lombok.extern.jackson.Jacksonized @lombok.SuperBuilder @com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true) @com.fasterxml.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) @tools.jackson.databind.annotation.JsonDeserialize(builder = JacksonizedSuperBuilderSimple.Parent.ParentBuilderImpl.class) class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends JacksonizedSuperBuilderSimple.Parent, B extends JacksonizedSuperBuilderSimple.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
public ParentBuilder() {
@@ -1,4 +1,4 @@
public @lombok.extern.jackson.Jacksonized @lombok.experimental.SuperBuilder @com.fasterxml.jackson.databind.annotation.JsonDeserialize class JacksonizedSuperBuilderWithJsonDeserialize {
public @lombok.extern.jackson.Jacksonized @lombok.SuperBuilder @com.fasterxml.jackson.databind.annotation.JsonDeserialize class JacksonizedSuperBuilderWithJsonDeserialize {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class JacksonizedSuperBuilderWithJsonDeserializeBuilder<C extends JacksonizedSuperBuilderWithJsonDeserialize, B extends JacksonizedSuperBuilderWithJsonDeserialize.JacksonizedSuperBuilderWithJsonDeserializeBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
public JacksonizedSuperBuilderWithJsonDeserializeBuilder() {
@@ -1,7 +1,7 @@
import java.util.List;
import lombok.Singular;
class NullAnnotatedCheckerFrameworkSuperBuilder {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends NullAnnotatedCheckerFrameworkSuperBuilder.Parent, B extends NullAnnotatedCheckerFrameworkSuperBuilder.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int x$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean x$set;
@@ -103,7 +103,7 @@ class NullAnnotatedCheckerFrameworkSuperBuilder {
return new NullAnnotatedCheckerFrameworkSuperBuilder.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class ZChild extends Parent {
public static @lombok.SuperBuilder class ZChild extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ZChildBuilder<C extends NullAnnotatedCheckerFrameworkSuperBuilder.ZChild, B extends NullAnnotatedCheckerFrameworkSuperBuilder.ZChild.ZChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int a$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean a$set;
@@ -1,5 +1,5 @@
public class SuperBuilderAbstract {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderAbstract.Parent, B extends SuperBuilderAbstract.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int parentField;
public ParentBuilder() {
@@ -38,7 +38,7 @@ public class SuperBuilderAbstract {
return new SuperBuilderAbstract.Parent.ParentBuilderImpl();
}
}
public static abstract @lombok.experimental.SuperBuilder class Child extends Parent {
public static abstract @lombok.SuperBuilder class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderAbstract.Child, B extends SuperBuilderAbstract.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double childField;
public ChildBuilder() {
@@ -63,7 +63,7 @@ public class SuperBuilderAbstract {
this.childField = b.childField;
}
}
public static @lombok.experimental.SuperBuilder class GrandChild extends Child {
public static @lombok.SuperBuilder class GrandChild extends Child {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class GrandChildBuilder<C extends SuperBuilderAbstract.GrandChild, B extends SuperBuilderAbstract.GrandChild.GrandChildBuilder<C, B>> extends Child.ChildBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String grandChildField;
public GrandChildBuilder() {
@@ -1,5 +1,5 @@
public class SuperBuilderAbstractToBuilder {
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Parent {
public static @lombok.SuperBuilder(toBuilder = true) class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderAbstractToBuilder.Parent, B extends SuperBuilderAbstractToBuilder.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int parentField;
public ParentBuilder() {
@@ -48,7 +48,7 @@ public class SuperBuilderAbstractToBuilder {
return new SuperBuilderAbstractToBuilder.Parent.ParentBuilderImpl();
}
}
public static abstract @lombok.experimental.SuperBuilder(toBuilder = true) class Child extends Parent {
public static abstract @lombok.SuperBuilder(toBuilder = true) class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderAbstractToBuilder.Child, B extends SuperBuilderAbstractToBuilder.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double childField;
public ChildBuilder() {
@@ -81,7 +81,7 @@ public class SuperBuilderAbstractToBuilder {
this.childField = b.childField;
}
}
public static @lombok.experimental.SuperBuilder(toBuilder = true) class GrandChild extends Child {
public static @lombok.SuperBuilder(toBuilder = true) class GrandChild extends Child {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class GrandChildBuilder<C extends SuperBuilderAbstractToBuilder.GrandChild, B extends SuperBuilderAbstractToBuilder.GrandChild.GrandChildBuilder<C, B>> extends Child.ChildBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String grandChildField;
public GrandChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderBasic {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderBasic.Parent, B extends SuperBuilderBasic.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> items;
@@ -74,7 +74,7 @@ public class SuperBuilderBasic {
return new SuperBuilderBasic.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends SuperBuilderBasic.Parent {
public static @lombok.SuperBuilder class Child extends SuperBuilderBasic.Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderBasic.Child, B extends SuperBuilderBasic.Child.ChildBuilder<C, B>> extends SuperBuilderBasic.Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderBasicToBuilder {
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Parent {
public static @lombok.SuperBuilder(toBuilder = true) class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderBasicToBuilder.Parent, B extends SuperBuilderBasicToBuilder.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated int obtainViaField;
@@ -124,7 +124,7 @@ public class SuperBuilderBasicToBuilder {
return new SuperBuilderBasicToBuilder.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Child extends Parent {
public static @lombok.SuperBuilder(toBuilder = true) class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderBasicToBuilder.Child, B extends SuperBuilderBasicToBuilder.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,5 +1,5 @@
import java.util.List;
@lombok.experimental.SuperBuilder class SuperBuilderCustomName<T> {
@lombok.SuperBuilder class SuperBuilderCustomName<T> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class SimpleTestBuilder<T, C extends SuperBuilderCustomName<T>, B extends SuperBuilderCustomName.SimpleTestBuilder<T, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field;
public SimpleTestBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderCustomized {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
public ParentBuilder() {
@@ -42,7 +42,7 @@ public class SuperBuilderCustomized {
return new SuperBuilderCustomized.Parent.ParentBuilderImpl().field1(field1);
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent {
public static @lombok.SuperBuilder class Child extends Parent {
private static final class ChildBuilderImpl extends ChildBuilder<Child, ChildBuilderImpl> {
private ChildBuilderImpl() {
super();
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderCustomizedWithSetterPrefix {
public static @lombok.experimental.SuperBuilder(setterPrefix = "set") class Parent {
public static @lombok.SuperBuilder(setterPrefix = "set") class Parent {
public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
public ParentBuilder() {
@@ -0,0 +1,122 @@
import java.util.List;
public class SuperBuilderExperimental {
public static @lombok.experimental.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderExperimental.Parent, B extends SuperBuilderExperimental.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> items;
public ParentBuilder() {
super();
}
/**
* @return {@code this}.
*/
public @java.lang.SuppressWarnings("all") @lombok.Generated B field1(final int field1) {
this.field1 = field1;
return self();
}
public @java.lang.SuppressWarnings("all") @lombok.Generated B item(final String item) {
if ((this.items == null))
this.items = new java.util.ArrayList<String>();
this.items.add(item);
return self();
}
public @java.lang.SuppressWarnings("all") @lombok.Generated B items(final java.util.Collection<? extends String> items) {
if ((items == null))
{
throw new java.lang.NullPointerException("items cannot be null");
}
if ((this.items == null))
this.items = new java.util.ArrayList<String>();
this.items.addAll(items);
return self();
}
public @java.lang.SuppressWarnings("all") @lombok.Generated B clearItems() {
if ((this.items != null))
this.items.clear();
return self();
}
protected abstract @java.lang.SuppressWarnings("all") @lombok.Generated B self();
public abstract @java.lang.SuppressWarnings("all") @lombok.Generated C build();
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
return (((("SuperBuilderExperimental.Parent.ParentBuilder(field1=" + this.field1) + ", items=") + this.items) + ")");
}
}
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilderImpl extends SuperBuilderExperimental.Parent.ParentBuilder<SuperBuilderExperimental.Parent, SuperBuilderExperimental.Parent.ParentBuilderImpl> {
private ParentBuilderImpl() {
super();
}
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Parent.ParentBuilderImpl self() {
return this;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Parent build() {
return new SuperBuilderExperimental.Parent(this);
}
}
int field1;
@lombok.Singular List<String> items;
protected @java.lang.SuppressWarnings("all") @lombok.Generated Parent(final SuperBuilderExperimental.Parent.ParentBuilder<?, ?> b) {
super();
this.field1 = b.field1;
java.util.List<String> items;
switch (((b.items == null) ? 0 : b.items.size())) {
case 0 :
items = java.util.Collections.emptyList();
break;
case 1 :
items = java.util.Collections.singletonList(b.items.get(0));
break;
default :
items = java.util.Collections.unmodifiableList(new java.util.ArrayList<String>(b.items));
}
this.items = items;
}
public static @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Parent.ParentBuilder<?, ?> builder() {
return new SuperBuilderExperimental.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends SuperBuilderExperimental.Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderExperimental.Child, B extends SuperBuilderExperimental.Child.ChildBuilder<C, B>> extends SuperBuilderExperimental.Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
super();
}
/**
* @return {@code this}.
*/
public @java.lang.SuppressWarnings("all") @lombok.Generated B field3(final double field3) {
this.field3 = field3;
return self();
}
protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated B self();
public abstract @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated C build();
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated java.lang.String toString() {
return (((("SuperBuilderExperimental.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")");
}
}
private static final @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilderImpl extends SuperBuilderExperimental.Child.ChildBuilder<SuperBuilderExperimental.Child, SuperBuilderExperimental.Child.ChildBuilderImpl> {
private ChildBuilderImpl() {
super();
}
protected @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Child.ChildBuilderImpl self() {
return this;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Child build() {
return new SuperBuilderExperimental.Child(this);
}
}
double field3;
protected @java.lang.SuppressWarnings("all") @lombok.Generated Child(final SuperBuilderExperimental.Child.ChildBuilder<?, ?> b) {
super(b);
this.field3 = b.field3;
}
public static @java.lang.SuppressWarnings("all") @lombok.Generated SuperBuilderExperimental.Child.ChildBuilder<?, ?> builder() {
return new SuperBuilderExperimental.Child.ChildBuilderImpl();
}
}
public SuperBuilderExperimental() {
super();
}
public static void test() {
Child x = Child.builder().field3(0.0).field1(5).item("").build();
}
}
@@ -1,4 +1,4 @@
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
public class SuperBuilderInAnonymousClass {
Object annonymous = new Object() {
@SuperBuilder class InnerParent {
@@ -1,4 +1,4 @@
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
class SuperBuilderInitializer {
public static @SuperBuilder class One {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class OneBuilder<C extends SuperBuilderInitializer.One, B extends SuperBuilderInitializer.One.OneBuilder<C, B>> {
@@ -1,5 +1,5 @@
import java.util.List;
public abstract @lombok.experimental.SuperBuilder class SuperBuilderJavadoc {
public abstract @lombok.SuperBuilder class SuperBuilderJavadoc {
public static abstract class SuperBuilderJavadocBuilder<C extends SuperBuilderJavadoc, B extends SuperBuilderJavadocBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int basic;
private @java.lang.SuppressWarnings("all") @lombok.Generated int getsetwith;
@@ -1,5 +1,5 @@
public class SuperBuilderNameClashes {
public static @lombok.experimental.SuperBuilder class GenericsClash<B, C, C2> {
public static @lombok.SuperBuilder class GenericsClash<B, C, C2> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class GenericsClashBuilder<B, C, C2, C3 extends SuperBuilderNameClashes.GenericsClash<B, C, C2>, B2 extends SuperBuilderNameClashes.GenericsClash.GenericsClashBuilder<B, C, C2, C3, B2>> {
public GenericsClashBuilder() {
super();
@@ -28,7 +28,7 @@ public class SuperBuilderNameClashes {
return new SuperBuilderNameClashes.GenericsClash.GenericsClashBuilderImpl<B, C, C2>();
}
}
public static @lombok.experimental.SuperBuilder class B {
public static @lombok.SuperBuilder class B {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class BBuilder<C extends SuperBuilderNameClashes.B, B2 extends SuperBuilderNameClashes.B.BBuilder<C, B2>> {
public BBuilder() {
super();
@@ -62,7 +62,7 @@ public class SuperBuilderNameClashes {
super();
}
}
public static @lombok.experimental.SuperBuilder class C {
public static @lombok.SuperBuilder class C {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class CBuilder<C3 extends SuperBuilderNameClashes.C, B extends SuperBuilderNameClashes.C.CBuilder<C3, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated C2 c2;
public CBuilder() {
@@ -107,7 +107,7 @@ public class SuperBuilderNameClashes {
}
interface B3<Y> {
}
public static @lombok.experimental.SuperBuilder class ExtendsClauseCollision extends B implements B2.B4<Object>, B3<Object> {
public static @lombok.SuperBuilder class ExtendsClauseCollision extends B implements B2.B4<Object>, B3<Object> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ExtendsClauseCollisionBuilder<C extends SuperBuilderNameClashes.ExtendsClauseCollision, B4 extends SuperBuilderNameClashes.ExtendsClauseCollision.ExtendsClauseCollisionBuilder<C, B4>> extends B.BBuilder<C, B4> {
public ExtendsClauseCollisionBuilder() {
super();
@@ -1,5 +1,5 @@
public class SuperBuilderNestedGenericTypes {
public static abstract @lombok.experimental.SuperBuilder class Generic<T extends Generic<?>> {
public static abstract @lombok.SuperBuilder class Generic<T extends Generic<?>> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class GenericBuilder<T extends Generic<?>, C extends SuperBuilderNestedGenericTypes.Generic<T>, B extends SuperBuilderNestedGenericTypes.Generic.GenericBuilder<T, C, B>> {
public GenericBuilder() {
super();
@@ -14,7 +14,7 @@ public class SuperBuilderNestedGenericTypes {
super();
}
}
public static abstract @lombok.experimental.SuperBuilder class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
public static abstract @lombok.SuperBuilder class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class NestedGenericBuilder<T extends OtherGeneric<?>, C extends SuperBuilderNestedGenericTypes.NestedGeneric<T>, B extends SuperBuilderNestedGenericTypes.NestedGeneric.NestedGenericBuilder<T, C, B>> extends Generic.GenericBuilder<NestedGeneric<? extends OtherGeneric<?>>, C, B> {
public NestedGenericBuilder() {
super();
@@ -6,7 +6,7 @@ import lombok.NonNull;
import lombok.Singular;
@Target(ElementType.TYPE_USE) @interface MyAnnotation {
}
@lombok.experimental.SuperBuilder class SuperBuilderSingularAnnotatedTypes {
@lombok.SuperBuilder class SuperBuilderSingularAnnotatedTypes {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class SuperBuilderSingularAnnotatedTypesBuilder<C extends SuperBuilderSingularAnnotatedTypes, B extends SuperBuilderSingularAnnotatedTypes.SuperBuilderSingularAnnotatedTypesBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<@MyAnnotation @NonNull String> foos;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<@MyAnnotation @NonNull String> bars$key;
@@ -1,5 +1,5 @@
import java.util.Set;
@lombok.experimental.SuperBuilder class SuperBuilderSingularCustomized {
@lombok.SuperBuilder class SuperBuilderSingularCustomized {
public static abstract class SuperBuilderSingularCustomizedBuilder<C extends SuperBuilderSingularCustomized, B extends SuperBuilderSingularCustomized.SuperBuilderSingularCustomizedBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> foos;
public SuperBuilderSingularCustomizedBuilder() {
@@ -1,5 +1,5 @@
public class SuperBuilderSingularToBuilderGuava {
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Parent<T> {
public static @lombok.SuperBuilder(toBuilder = true) class Parent<T> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<T, C extends SuperBuilderSingularToBuilderGuava.Parent<T>, B extends SuperBuilderSingularToBuilderGuava.Parent.ParentBuilder<T, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.collect.ImmutableList.Builder<T> cards;
private @java.lang.SuppressWarnings("all") @lombok.Generated com.google.common.collect.ImmutableList.Builder<Number> frogs;
@@ -162,7 +162,7 @@ public class SuperBuilderSingularToBuilderGuava {
return new SuperBuilderSingularToBuilderGuava.Parent.ParentBuilderImpl<T>();
}
}
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Child<T> extends Parent<T> {
public static @lombok.SuperBuilder(toBuilder = true) class Child<T> extends Parent<T> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<T, C extends SuperBuilderSingularToBuilderGuava.Child<T>, B extends SuperBuilderSingularToBuilderGuava.Child.ChildBuilder<T, C, B>> extends Parent.ParentBuilder<T, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -8,7 +8,7 @@ import java.util.List;
public class SuperBuilderWithAnnotatedTypeParam {
public @Documented @Target({ElementType.TYPE_USE, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @interface MyAnnotation {
}
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithAnnotatedTypeParam.Parent<A>, B extends SuperBuilderWithAnnotatedTypeParam.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
public ParentBuilder() {
@@ -47,7 +47,7 @@ public class SuperBuilderWithAnnotatedTypeParam {
return new SuperBuilderWithAnnotatedTypeParam.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent<@MyAnnotation String> {
public static @lombok.SuperBuilder class Child extends Parent<@MyAnnotation String> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithAnnotatedTypeParam.Child, B extends SuperBuilderWithAnnotatedTypeParam.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<@MyAnnotation String, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
//version 8:
public class SuperBuilderWithArrayTypeParam {
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithArrayTypeParam.Parent<A>, B extends SuperBuilderWithArrayTypeParam.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
public ParentBuilder() {
@@ -39,7 +39,7 @@ public class SuperBuilderWithArrayTypeParam {
return new SuperBuilderWithArrayTypeParam.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent<Integer[]> {
public static @lombok.SuperBuilder class Child extends Parent<Integer[]> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithArrayTypeParam.Child, B extends SuperBuilderWithArrayTypeParam.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<Integer[], C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,5 +1,5 @@
class SuperBuilderWithCustomBuilderClassName {
static @lombok.experimental.SuperBuilder class SuperClass {
static @lombok.SuperBuilder class SuperClass {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class Builder<C extends SuperBuilderWithCustomBuilderClassName.SuperClass, B extends SuperBuilderWithCustomBuilderClassName.SuperClass.Builder<C, B>> {
public Builder() {
super();
@@ -28,7 +28,7 @@ class SuperBuilderWithCustomBuilderClassName {
return new SuperBuilderWithCustomBuilderClassName.SuperClass.BuilderImpl();
}
}
static @lombok.experimental.SuperBuilder class SubClass extends SuperClass {
static @lombok.SuperBuilder class SubClass extends SuperClass {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class Builder<C extends SuperBuilderWithCustomBuilderClassName.SubClass, B extends SuperBuilderWithCustomBuilderClassName.SubClass.Builder<C, B>> extends SuperClass.Builder<C, B> {
public Builder() {
super();
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithCustomBuilderMethod {
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithCustomBuilderMethod.Parent<A>, B extends SuperBuilderWithCustomBuilderMethod.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> items;
@@ -74,7 +74,7 @@ public class SuperBuilderWithCustomBuilderMethod {
return new SuperBuilderWithCustomBuilderMethod.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder class Child<A> extends Parent<A> {
public static @lombok.SuperBuilder class Child<A> extends Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<A, C extends SuperBuilderWithCustomBuilderMethod.Child<A>, B extends SuperBuilderWithCustomBuilderMethod.Child.ChildBuilder<A, C, B>> extends Parent.ParentBuilder<A, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithDefaults {
public static @lombok.experimental.SuperBuilder class Parent<N extends Number> {
public static @lombok.SuperBuilder class Parent<N extends Number> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<N extends Number, C extends SuperBuilderWithDefaults.Parent<N>, B extends SuperBuilderWithDefaults.Parent.ParentBuilder<N, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated long millis$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean millis$set;
@@ -65,7 +65,7 @@ public class SuperBuilderWithDefaults {
return new SuperBuilderWithDefaults.Parent.ParentBuilderImpl<N>();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent<Integer> {
public static @lombok.SuperBuilder class Child extends Parent<Integer> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithDefaults.Child, B extends SuperBuilderWithDefaults.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<Integer, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double doubleField$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean doubleField$set;
@@ -1,7 +1,7 @@
import java.util.Arrays;
import lombok.Builder;
public class SuperBuilderWithDefaultsAndTargetTyping {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderWithDefaultsAndTargetTyping.Parent, B extends SuperBuilderWithDefaultsAndTargetTyping.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String foo$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean foo$set;
@@ -48,7 +48,7 @@ public class SuperBuilderWithDefaultsAndTargetTyping {
return new SuperBuilderWithDefaultsAndTargetTyping.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent {
public static @lombok.SuperBuilder class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithDefaultsAndTargetTyping.Child, B extends SuperBuilderWithDefaultsAndTargetTyping.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String foo$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean foo$set;
@@ -1,4 +1,4 @@
public @lombok.experimental.SuperBuilder class SuperBuilderWithExistingConstructor {
public @lombok.SuperBuilder class SuperBuilderWithExistingConstructor {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class SuperBuilderWithExistingConstructorBuilder<C extends SuperBuilderWithExistingConstructor, B extends SuperBuilderWithExistingConstructor.SuperBuilderWithExistingConstructorBuilder<C, B>> {
public SuperBuilderWithExistingConstructorBuilder() {
super();
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithGenerics {
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithGenerics.Parent<A>, B extends SuperBuilderWithGenerics.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> items;
@@ -74,7 +74,7 @@ public class SuperBuilderWithGenerics {
return new SuperBuilderWithGenerics.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder class Child<A> extends Parent<A> {
public static @lombok.SuperBuilder class Child<A> extends Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<A, C extends SuperBuilderWithGenerics.Child<A>, B extends SuperBuilderWithGenerics.Child.ChildBuilder<A, C, B>> extends Parent.ParentBuilder<A, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithGenerics2 {
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithGenerics2.Parent<A>, B extends SuperBuilderWithGenerics2.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<String> items;
@@ -74,7 +74,7 @@ public class SuperBuilderWithGenerics2 {
return new SuperBuilderWithGenerics2.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder(builderMethodName = "builder2") class Child<A> extends Parent<String> {
public static @lombok.SuperBuilder(builderMethodName = "builder2") class Child<A> extends Parent<String> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<A, C extends SuperBuilderWithGenerics2.Child<A>, B extends SuperBuilderWithGenerics2.Child.ChildBuilder<A, C, B>> extends Parent.ParentBuilder<String, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithGenerics3 {
public static @lombok.experimental.SuperBuilder class Parent<A> {
public static @lombok.SuperBuilder class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithGenerics3.Parent<A>, B extends SuperBuilderWithGenerics3.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String str;
public ParentBuilder() {
@@ -39,7 +39,7 @@ public class SuperBuilderWithGenerics3 {
return new SuperBuilderWithGenerics3.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent<Child.SomeInnerStaticClass> {
public static @lombok.SuperBuilder class Child extends Parent<Child.SomeInnerStaticClass> {
public static class SomeInnerStaticClass {
public SomeInnerStaticClass() {
super();
@@ -1,6 +1,6 @@
import java.util.Map;
public class SuperBuilderWithGenericsAndToBuilder {
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Parent<A> {
public static @lombok.SuperBuilder(toBuilder = true) class Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<A, C extends SuperBuilderWithGenericsAndToBuilder.Parent<A>, B extends SuperBuilderWithGenericsAndToBuilder.Parent.ParentBuilder<A, C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated A field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated java.util.ArrayList<Integer> items$key;
@@ -103,7 +103,7 @@ public class SuperBuilderWithGenericsAndToBuilder {
return new SuperBuilderWithGenericsAndToBuilder.Parent.ParentBuilderImpl<A>();
}
}
public static @lombok.experimental.SuperBuilder(toBuilder = true) class Child<A> extends Parent<A> {
public static @lombok.SuperBuilder(toBuilder = true) class Child<A> extends Parent<A> {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<A, C extends SuperBuilderWithGenericsAndToBuilder.Child<A>, B extends SuperBuilderWithGenericsAndToBuilder.Child.ChildBuilder<A, C, B>> extends Parent.ParentBuilder<A, C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithNonNull {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderWithNonNull.Parent, B extends SuperBuilderWithNonNull.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String nonNullParentField$value;
private @java.lang.SuppressWarnings("all") @lombok.Generated boolean nonNullParentField$set;
@@ -55,7 +55,7 @@ public class SuperBuilderWithNonNull {
return new SuperBuilderWithNonNull.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent {
public static @lombok.SuperBuilder class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithNonNull.Child, B extends SuperBuilderWithNonNull.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated String nonNullChildField;
public ChildBuilder() {
@@ -1,5 +1,5 @@
public class SuperBuilderWithOverloadedGeneratedMethods {
public static @lombok.experimental.SuperBuilder class Parent {
public static @lombok.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderWithOverloadedGeneratedMethods.Parent, B extends SuperBuilderWithOverloadedGeneratedMethods.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int self;
public ParentBuilder() {
@@ -38,7 +38,7 @@ public class SuperBuilderWithOverloadedGeneratedMethods {
return new SuperBuilderWithOverloadedGeneratedMethods.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent {
public static @lombok.SuperBuilder class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithOverloadedGeneratedMethods.Child, B extends SuperBuilderWithOverloadedGeneratedMethods.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double build;
public ChildBuilder() {
@@ -1,4 +1,4 @@
@lombok.experimental.SuperBuilder class SuperBuilderWithPrefixes {
@lombok.SuperBuilder class SuperBuilderWithPrefixes {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class SuperBuilderWithPrefixesBuilder<C extends SuperBuilderWithPrefixes, B extends SuperBuilderWithPrefixes.SuperBuilderWithPrefixesBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field;
private @java.lang.SuppressWarnings("all") @lombok.Generated int otherField;
@@ -1,6 +1,6 @@
import java.util.List;
public class SuperBuilderWithSetterPrefix {
public static @lombok.experimental.SuperBuilder(toBuilder = true,setterPrefix = "with") class Parent {
public static @lombok.SuperBuilder(toBuilder = true,setterPrefix = "with") class Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ParentBuilder<C extends SuperBuilderWithSetterPrefix.Parent, B extends SuperBuilderWithSetterPrefix.Parent.ParentBuilder<C, B>> {
private @java.lang.SuppressWarnings("all") @lombok.Generated int field1;
private @java.lang.SuppressWarnings("all") @lombok.Generated int obtainViaField;
@@ -124,7 +124,7 @@ public class SuperBuilderWithSetterPrefix {
return new SuperBuilderWithSetterPrefix.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder(toBuilder = true,setterPrefix = "set") class Child extends Parent {
public static @lombok.SuperBuilder(toBuilder = true,setterPrefix = "set") class Child extends Parent {
public static abstract @java.lang.SuppressWarnings("all") @lombok.Generated class ChildBuilder<C extends SuperBuilderWithSetterPrefix.Child, B extends SuperBuilderWithSetterPrefix.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<C, B> {
private @java.lang.SuppressWarnings("all") @lombok.Generated double field3;
public ChildBuilder() {
@@ -4,7 +4,7 @@ import java.util.List;
import lombok.Singular;
class CheckerFrameworkSuperBuilder {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
@lombok.Builder.Default int x = 5;
int y;
@@ -12,7 +12,7 @@ class CheckerFrameworkSuperBuilder {
@Singular List<String> names;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class ZChild extends Parent {
@lombok.Builder.Default int a = 1;
int b;
@@ -1,6 +1,6 @@
import lombok.AllArgsConstructor;
import lombok.NoArgsConstructor;
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
import lombok.Builder;
@NoArgsConstructor
@@ -3,7 +3,7 @@
//version 8: Jackson deps are at least Java7+.
public class JacksonizedSuperBuilderSimple {
@lombok.extern.jackson.Jacksonized
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
@com.fasterxml.jackson.annotation.JsonIgnoreProperties(ignoreUnknown = true)
public static class Parent {
int field1;
@@ -1,6 +1,6 @@
//version 8: Jackson deps are at least Java7+.
@lombok.extern.jackson.Jacksonized
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
@com.fasterxml.jackson.databind.annotation.JsonDeserialize
public class JacksonizedSuperBuilderWithJsonDeserialize {
int field1;
@@ -4,7 +4,7 @@ import java.util.List;
import lombok.Singular;
class NullAnnotatedCheckerFrameworkSuperBuilder {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
@lombok.Builder.Default int x = 5;
int y;
@@ -12,7 +12,7 @@ class NullAnnotatedCheckerFrameworkSuperBuilder {
@Singular List<String> names;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class ZChild extends Parent {
@lombok.Builder.Default int a = 1;
int b;
@@ -1,15 +1,15 @@
public class SuperBuilderAbstract {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
int parentField;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public abstract static class Child extends Parent {
double childField;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class GrandChild extends Child {
String grandChildField;
}
@@ -1,15 +1,15 @@
public class SuperBuilderAbstractToBuilder {
@lombok.experimental.SuperBuilder(toBuilder = true)
@lombok.SuperBuilder(toBuilder = true)
public static class Parent {
int parentField;
}
@lombok.experimental.SuperBuilder(toBuilder = true)
@lombok.SuperBuilder(toBuilder = true)
public abstract static class Child extends Parent {
double childField;
}
@lombok.experimental.SuperBuilder(toBuilder = true)
@lombok.SuperBuilder(toBuilder = true)
public static class GrandChild extends Child {
String grandChildField;
}
@@ -1,13 +1,13 @@
import java.util.List;
public class SuperBuilderBasic {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
int field1;
@lombok.Singular List<String> items;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends SuperBuilderBasic.Parent {
double field3;
}
@@ -1,7 +1,7 @@
import java.util.List;
public class SuperBuilderBasicToBuilder {
@lombok.experimental.SuperBuilder(toBuilder=true)
@lombok.SuperBuilder(toBuilder=true)
public static class Parent {
private int field1;
@lombok.Builder.ObtainVia(field="field1")
@@ -21,7 +21,7 @@ public class SuperBuilderBasicToBuilder {
}
}
@lombok.experimental.SuperBuilder(toBuilder=true)
@lombok.SuperBuilder(toBuilder=true)
public static class Child extends Parent {
private double field3;
}
@@ -1,7 +1,7 @@
//CONF: lombok.builder.className = SimpleTestBuilder
import java.util.List;
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
class SuperBuilderCustomName<T> {
private final int field;
}
@@ -2,7 +2,7 @@
import java.util.List;
public class SuperBuilderCustomized {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
public B resetToDefault() {
@@ -27,7 +27,7 @@ public class SuperBuilderCustomized {
}
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent {
private static final class ChildBuilderImpl extends ChildBuilder<Child, ChildBuilderImpl> {
@Override
@@ -1,7 +1,7 @@
import java.util.List;
public class SuperBuilderCustomizedWithSetterPrefix {
@lombok.experimental.SuperBuilder(setterPrefix = "set")
@lombok.SuperBuilder(setterPrefix = "set")
public static class Parent {
public static abstract class ParentBuilder<C extends Parent, B extends ParentBuilder<C, B>> {
public B setField1(int field1) {
@@ -0,0 +1,18 @@
import java.util.List;
public class SuperBuilderExperimental {
@lombok.experimental.SuperBuilder
public static class Parent {
int field1;
@lombok.Singular List<String> items;
}
@lombok.experimental.SuperBuilder
public static class Child extends SuperBuilderExperimental.Parent {
double field3;
}
public static void test() {
Child x = Child.builder().field3(0.0).field1(5).item("").build();
}
}
@@ -1,4 +1,4 @@
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
public class SuperBuilderInAnonymousClass {
Object annonymous = new Object() {
@@ -1,4 +1,4 @@
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
class SuperBuilderInitializer {
@SuperBuilder
@@ -1,6 +1,6 @@
import java.util.List;
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public abstract class SuperBuilderJavadoc {
/**
* basic gets only a builder setter.
@@ -1,16 +1,16 @@
public class SuperBuilderNameClashes {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class GenericsClash<B, C, C2> {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class B {
}
public static class C2 {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class C {
C2 c2;
}
@@ -23,7 +23,7 @@ public class SuperBuilderNameClashes {
interface B3<Y> {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class ExtendsClauseCollision extends B implements B2.B4<Object>, B3<Object> {
}
}
@@ -1,9 +1,9 @@
public class SuperBuilderNestedGenericTypes {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static abstract class Generic<T extends Generic<?>> {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static abstract class NestedGeneric<T extends OtherGeneric<?>> extends Generic<NestedGeneric<? extends OtherGeneric<?>>> {
}
@@ -1,7 +1,7 @@
// skip compare content
// version 14:
import lombok.experimental.SuperBuilder;
import lombok.SuperBuilder;
@SuperBuilder
record SuperBuilderOnRecord(String a, String b) {
@@ -7,7 +7,7 @@ import lombok.NonNull;
import lombok.Singular;
@Target(ElementType.TYPE_USE)
@interface MyAnnotation {}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
class SuperBuilderSingularAnnotatedTypes {
@Singular private Set<@MyAnnotation @NonNull String> foos;
@Singular private Map<@MyAnnotation @NonNull String, @MyAnnotation @NonNull Integer> bars;
@@ -1,5 +1,5 @@
import java.util.Set;
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
class SuperBuilderSingularCustomized {
@lombok.Singular private Set<String> foos;
public static abstract class SuperBuilderSingularCustomizedBuilder<C extends SuperBuilderSingularCustomized, B extends SuperBuilderSingularCustomized.SuperBuilderSingularCustomizedBuilder<C, B>> {
@@ -1,5 +1,5 @@
public class SuperBuilderSingularToBuilderGuava {
@lombok.experimental.SuperBuilder(toBuilder=true)
@lombok.SuperBuilder(toBuilder=true)
public static class Parent<T> {
@lombok.Singular private com.google.common.collect.ImmutableList<T> cards;
@lombok.Singular private com.google.common.collect.ImmutableCollection<? extends Number> frogs;
@@ -8,7 +8,7 @@ public class SuperBuilderSingularToBuilderGuava {
@lombok.Singular private com.google.common.collect.ImmutableTable<? extends Number, ? extends Number, String> users;
}
@lombok.experimental.SuperBuilder(toBuilder=true)
@lombok.SuperBuilder(toBuilder=true)
public static class Child<T> extends Parent<T> {
private double field3;
}
@@ -13,12 +13,12 @@ public class SuperBuilderWithAnnotatedTypeParam {
public @interface MyAnnotation {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
A field1;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent<@MyAnnotation String> {
double field3;
}
@@ -1,11 +1,11 @@
//version 8:
public class SuperBuilderWithArrayTypeParam {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
A field1;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent<Integer[]> {
double field3;
}
@@ -1,9 +1,9 @@
//CONF: lombok.builder.className=Builder
class SuperBuilderWithCustomBuilderClassName {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
static class SuperClass {
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
static class SubClass extends SuperClass {
}
}
@@ -2,13 +2,13 @@
import java.util.List;
public class SuperBuilderWithCustomBuilderMethod {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
A field1;
@lombok.Singular List<String> items;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child<A> extends Parent<A> {
double field3;
public static <A> ChildBuilder<A, ?, ?> builder() {
@@ -1,13 +1,13 @@
import java.util.List;
public class SuperBuilderWithDefaults {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<N extends Number> {
@lombok.Builder.Default private long millis = System.currentTimeMillis();
@lombok.Builder.Default private N numberField = null;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent<Integer> {
@lombok.Builder.Default private double doubleField = Math.PI;
}
@@ -2,12 +2,12 @@ import java.util.Arrays;
import lombok.Builder;
public class SuperBuilderWithDefaultsAndTargetTyping {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
@lombok.Builder.Default private String foo = doSth(Arrays.asList(1), Arrays.asList('a'));
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent {
@lombok.Builder.Default private String foo = doSth(Arrays.asList(1), Arrays.asList('a'));
}
@@ -1,4 +1,4 @@
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public class SuperBuilderWithExistingConstructor {
public SuperBuilderWithExistingConstructor() {
}
@@ -1,13 +1,13 @@
import java.util.List;
public class SuperBuilderWithGenerics {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
A field1;
@lombok.Singular List<String> items;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child<A> extends Parent<A> {
double field3;
}
@@ -1,13 +1,13 @@
import java.util.List;
public class SuperBuilderWithGenerics2 {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
A field1;
@lombok.Singular List<String> items;
}
@lombok.experimental.SuperBuilder(builderMethodName="builder2")
@lombok.SuperBuilder(builderMethodName="builder2")
public static class Child<A> extends Parent<String> {
A field3;
}
@@ -1,12 +1,12 @@
import java.util.List;
public class SuperBuilderWithGenerics3 {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent<A> {
private final String str;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent<Child.SomeInnerStaticClass> {
public static class SomeInnerStaticClass { }
double field3;
@@ -1,13 +1,13 @@
import java.util.Map;
public class SuperBuilderWithGenericsAndToBuilder {
@lombok.experimental.SuperBuilder(toBuilder = true)
@lombok.SuperBuilder(toBuilder = true)
public static class Parent<A> {
A field1;
@lombok.Singular Map<Integer, String> items;
}
@lombok.experimental.SuperBuilder(toBuilder = true)
@lombok.SuperBuilder(toBuilder = true)
public static class Child<A> extends Parent<A> {
double field3;
}
@@ -2,14 +2,14 @@
import java.util.List;
public class SuperBuilderWithNonNull {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
@lombok.NonNull
@lombok.Builder.Default
final String nonNullParentField = "default";
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent {
@lombok.NonNull
String nonNullChildField;
@@ -1,10 +1,10 @@
public class SuperBuilderWithOverloadedGeneratedMethods {
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Parent {
int self;
}
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
public static class Child extends Parent {
double build;
}
@@ -1,6 +1,6 @@
//CONF: lombok.accessors.prefix += m
//CONF: lombok.accessors.prefix += x
@lombok.experimental.SuperBuilder
@lombok.SuperBuilder
class SuperBuilderWithPrefixes {
int mField;
int xOtherField;
@@ -1,7 +1,7 @@
import java.util.List;
public class SuperBuilderWithSetterPrefix {
@lombok.experimental.SuperBuilder(toBuilder=true, setterPrefix = "with")
@lombok.SuperBuilder(toBuilder=true, setterPrefix = "with")
public static class Parent {
private int field1;
@lombok.Builder.ObtainVia(field="field1")
@@ -21,7 +21,7 @@ public class SuperBuilderWithSetterPrefix {
}
}
@lombok.experimental.SuperBuilder(toBuilder=true, setterPrefix = "set")
@lombok.SuperBuilder(toBuilder=true, setterPrefix = "set")
public static class Child extends Parent {
private double field3;
}