import java.util.List;
public class SuperBuilderWithGenerics3 {
public static @lombok.experimental.SuperBuilder class Parent {
public static abstract @java.lang.SuppressWarnings("all") class ParentBuilder, B extends SuperBuilderWithGenerics3.Parent.ParentBuilder> {
private @java.lang.SuppressWarnings("all") String str;
public ParentBuilder() {
super();
}
/**
* @return {@code this}.
*/
public @java.lang.SuppressWarnings("all") B str(final String str) {
this.str = str;
return self();
}
protected abstract @java.lang.SuppressWarnings("all") B self();
public abstract @java.lang.SuppressWarnings("all") C build();
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (("SuperBuilderWithGenerics3.Parent.ParentBuilder(str=" + this.str) + ")");
}
}
private static final @java.lang.SuppressWarnings("all") class ParentBuilderImpl extends SuperBuilderWithGenerics3.Parent.ParentBuilder, SuperBuilderWithGenerics3.Parent.ParentBuilderImpl> {
private ParentBuilderImpl() {
super();
}
protected @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent.ParentBuilderImpl self() {
return this;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent build() {
return new SuperBuilderWithGenerics3.Parent(this);
}
}
private final String str;
protected @java.lang.SuppressWarnings("all") Parent(final SuperBuilderWithGenerics3.Parent.ParentBuilder b) {
super();
this.str = b.str;
}
public static @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Parent.ParentBuilder builder() {
return new SuperBuilderWithGenerics3.Parent.ParentBuilderImpl();
}
}
public static @lombok.experimental.SuperBuilder class Child extends Parent {
public static class SomeInnerStaticClass {
public SomeInnerStaticClass() {
super();
}
}
public static abstract @java.lang.SuppressWarnings("all") class ChildBuilder> extends Parent.ParentBuilder {
private @java.lang.SuppressWarnings("all") double field3;
public ChildBuilder() {
super();
}
/**
* @return {@code this}.
*/
public @java.lang.SuppressWarnings("all") B field3(final double field3) {
this.field3 = field3;
return self();
}
protected abstract @java.lang.Override @java.lang.SuppressWarnings("all") B self();
public abstract @java.lang.Override @java.lang.SuppressWarnings("all") C build();
public @java.lang.Override @java.lang.SuppressWarnings("all") java.lang.String toString() {
return (((("SuperBuilderWithGenerics3.Child.ChildBuilder(super=" + super.toString()) + ", field3=") + this.field3) + ")");
}
}
private static final @java.lang.SuppressWarnings("all") class ChildBuilderImpl extends SuperBuilderWithGenerics3.Child.ChildBuilder {
private ChildBuilderImpl() {
super();
}
protected @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child.ChildBuilderImpl self() {
return this;
}
public @java.lang.Override @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child build() {
return new SuperBuilderWithGenerics3.Child(this);
}
}
double field3;
protected @java.lang.SuppressWarnings("all") Child(final SuperBuilderWithGenerics3.Child.ChildBuilder, ?> b) {
super(b);
this.field3 = b.field3;
}
public static @java.lang.SuppressWarnings("all") SuperBuilderWithGenerics3.Child.ChildBuilder, ?> builder() {
return new SuperBuilderWithGenerics3.Child.ChildBuilderImpl();
}
}
public SuperBuilderWithGenerics3() {
super();
}
}