mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-03-22 15:19:59 +07:00
177 lines
5.4 KiB
Java
177 lines
5.4 KiB
Java
// Generated by delombok at Sun Nov 06 10:56:35 CET 2022
|
|
|
|
public class SuperBuilderWithDefaults {
|
|
|
|
public static class Parent<N extends Number> {
|
|
private long millis;
|
|
private N numberField;
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
private static <N extends Number> long $default$millis() {
|
|
return System.currentTimeMillis();
|
|
}
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
private static <N extends Number> N $default$numberField() {
|
|
return null;
|
|
}
|
|
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
public static abstract class ParentBuilder<N extends Number, C extends SuperBuilderWithDefaults.Parent<N>, B extends SuperBuilderWithDefaults.Parent.ParentBuilder<N, C, B>> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private boolean millis$set;
|
|
@java.lang.SuppressWarnings("all")
|
|
private long millis$value;
|
|
@java.lang.SuppressWarnings("all")
|
|
private boolean numberField$set;
|
|
@java.lang.SuppressWarnings("all")
|
|
private N numberField$value;
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
protected abstract B self();
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
public abstract C build();
|
|
|
|
/**
|
|
* @return {@code this}.
|
|
*/
|
|
@java.lang.SuppressWarnings("all")
|
|
public B millis(final long millis) {
|
|
this.millis$value = millis;
|
|
millis$set = true;
|
|
return self();
|
|
}
|
|
|
|
/**
|
|
* @return {@code this}.
|
|
*/
|
|
@java.lang.SuppressWarnings("all")
|
|
public B numberField(final N numberField) {
|
|
this.numberField$value = numberField;
|
|
numberField$set = true;
|
|
return self();
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public java.lang.String toString() {
|
|
return "SuperBuilderWithDefaults.Parent.ParentBuilder(millis$value=" + this.millis$value + ", numberField$value=" + this.numberField$value + ")";
|
|
}
|
|
}
|
|
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
private static final class ParentBuilderImpl<N extends Number> extends SuperBuilderWithDefaults.Parent.ParentBuilder<N, SuperBuilderWithDefaults.Parent<N>, SuperBuilderWithDefaults.Parent.ParentBuilderImpl<N>> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private ParentBuilderImpl() {
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
protected SuperBuilderWithDefaults.Parent.ParentBuilderImpl<N> self() {
|
|
return this;
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public SuperBuilderWithDefaults.Parent<N> build() {
|
|
return new SuperBuilderWithDefaults.Parent<N>(this);
|
|
}
|
|
}
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
protected Parent(final SuperBuilderWithDefaults.Parent.ParentBuilder<N, ?, ?> b) {
|
|
if (b.millis$set) this.millis = b.millis$value;
|
|
else this.millis = SuperBuilderWithDefaults.Parent.<N>$default$millis();
|
|
if (b.numberField$set) this.numberField = b.numberField$value;
|
|
else this.numberField = SuperBuilderWithDefaults.Parent.<N>$default$numberField();
|
|
}
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
public static <N extends Number> SuperBuilderWithDefaults.Parent.ParentBuilder<N, ?, ?> builder() {
|
|
return new SuperBuilderWithDefaults.Parent.ParentBuilderImpl<N>();
|
|
}
|
|
}
|
|
|
|
|
|
public static class Child extends Parent<Integer> {
|
|
private double doubleField;
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
private static double $default$doubleField() {
|
|
return Math.PI;
|
|
}
|
|
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
public static abstract class ChildBuilder<C extends SuperBuilderWithDefaults.Child, B extends SuperBuilderWithDefaults.Child.ChildBuilder<C, B>> extends Parent.ParentBuilder<Integer, C, B> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private boolean doubleField$set;
|
|
@java.lang.SuppressWarnings("all")
|
|
private double doubleField$value;
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
protected abstract B self();
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public abstract C build();
|
|
|
|
/**
|
|
* @return {@code this}.
|
|
*/
|
|
@java.lang.SuppressWarnings("all")
|
|
public B doubleField(final double doubleField) {
|
|
this.doubleField$value = doubleField;
|
|
doubleField$set = true;
|
|
return self();
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public java.lang.String toString() {
|
|
return "SuperBuilderWithDefaults.Child.ChildBuilder(super=" + super.toString() + ", doubleField$value=" + this.doubleField$value + ")";
|
|
}
|
|
}
|
|
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
private static final class ChildBuilderImpl extends SuperBuilderWithDefaults.Child.ChildBuilder<SuperBuilderWithDefaults.Child, SuperBuilderWithDefaults.Child.ChildBuilderImpl> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private ChildBuilderImpl() {
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
protected SuperBuilderWithDefaults.Child.ChildBuilderImpl self() {
|
|
return this;
|
|
}
|
|
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public SuperBuilderWithDefaults.Child build() {
|
|
return new SuperBuilderWithDefaults.Child(this);
|
|
}
|
|
}
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
protected Child(final SuperBuilderWithDefaults.Child.ChildBuilder<?, ?> b) {
|
|
super(b);
|
|
if (b.doubleField$set) this.doubleField = b.doubleField$value;
|
|
else this.doubleField = SuperBuilderWithDefaults.Child.$default$doubleField();
|
|
}
|
|
|
|
@java.lang.SuppressWarnings("all")
|
|
public static SuperBuilderWithDefaults.Child.ChildBuilder<?, ?> builder() {
|
|
return new SuperBuilderWithDefaults.Child.ChildBuilderImpl();
|
|
}
|
|
}
|
|
|
|
public static void test() {
|
|
Child x = Child.builder().doubleField(0.1).numberField(5).millis(1234567890L).build();
|
|
}
|
|
}
|