mirror of
https://github.com/tiennm99/lombok.git
synced 2026-08-23 20:26:08 +00:00
50 lines
1.6 KiB
Java
50 lines
1.6 KiB
Java
import java.util.List;
|
|
class BuilderCustomName<T> {
|
|
private final int field;
|
|
@java.lang.SuppressWarnings("all")
|
|
public static abstract class SimpleTestBuilder<T, C extends BuilderCustomName<T>, B extends BuilderCustomName.SimpleTestBuilder<T, C, B>> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private int field;
|
|
/**
|
|
* @return {@code this}.
|
|
*/
|
|
@java.lang.SuppressWarnings("all")
|
|
public B field(final int field) {
|
|
this.field = field;
|
|
return self();
|
|
}
|
|
@java.lang.SuppressWarnings("all")
|
|
protected abstract B self();
|
|
@java.lang.SuppressWarnings("all")
|
|
public abstract C build();
|
|
@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<T> extends BuilderCustomName.SimpleTestBuilder<T, BuilderCustomName<T>, BuilderCustomName.SimpleTestBuilderImpl<T>> {
|
|
@java.lang.SuppressWarnings("all")
|
|
private SimpleTestBuilderImpl() {
|
|
}
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
protected BuilderCustomName.SimpleTestBuilderImpl<T> self() {
|
|
return this;
|
|
}
|
|
@java.lang.Override
|
|
@java.lang.SuppressWarnings("all")
|
|
public BuilderCustomName<T> build() {
|
|
return new BuilderCustomName<T>(this);
|
|
}
|
|
}
|
|
@java.lang.SuppressWarnings("all")
|
|
protected BuilderCustomName(final BuilderCustomName.SimpleTestBuilder<T, ?, ?> b) {
|
|
this.field = b.field;
|
|
}
|
|
@java.lang.SuppressWarnings("all")
|
|
public static <T> BuilderCustomName.SimpleTestBuilder<T, ?, ?> builder() {
|
|
return new BuilderCustomName.SimpleTestBuilderImpl<T>();
|
|
}
|
|
} |