@lombok.Builder(exclude = {"optionalVal3"},convenientMethods = false) class BuilderExtensions {
public static @java.lang.SuppressWarnings("all") interface TextDef {
public IdDef text(final String text);
public @java.lang.SuppressWarnings("all") OptionalDef idAndText(final int id, final String text);
public @java.lang.SuppressWarnings("all") OptionalDef idAsStringAndText(final String id, final String text);
}
public static @java.lang.SuppressWarnings("all") interface IdDef {
public OptionalDef id(final int id);
}
public static @java.lang.SuppressWarnings("all") interface OptionalDef {
public OptionalDef optionalVal1(final String optionalVal1);
public OptionalDef optionalVal2(final java.util.List<java.lang.Long> optionalVal2);
public BuilderExtensions build();
public @java.lang.SuppressWarnings("all") OptionalDef optionalVal1(final Class<?> clazz);
}
private static @java.lang.SuppressWarnings("all") class $Builder implements TextDef, IdDef, OptionalDef {
private String text;
private int id;
private String optionalVal1;
private java.util.List<java.lang.Long> optionalVal2;
public IdDef text(final String text) {
this.text = text;
return this;
}
public OptionalDef id(final int id) {
this.id = id;
return this;
}
public OptionalDef optionalVal1(final String optionalVal1) {
this.optionalVal1 = optionalVal1;
return this;
}
public OptionalDef optionalVal2(final java.util.List<java.lang.Long> optionalVal2) {
this.optionalVal2 = optionalVal2;
return this;
}
public BuilderExtensions build() {
return new BuilderExtensions(this);
}
private $Builder() {
super();
}
public @java.lang.SuppressWarnings("all") OptionalDef idAndText(final int id, final String text) {
this.id = id;
this.text = text;
return this;
}
public @java.lang.SuppressWarnings("all") OptionalDef idAsStringAndText(final String id, final String text) {
this.id = java.lang.Integer.valueOf(id);
this.text = text;
return this;
}
public @java.lang.SuppressWarnings("all") OptionalDef optionalVal1(final Class<?> clazz) {
this.optionalVal1 = clazz.getSimpleName();
return this;
}
}
private final String text;
private final int id;
private String optionalVal1;
private java.util.List<java.lang.Long> optionalVal2;
private long optionalVal3;
private @java.lang.SuppressWarnings("all") BuilderExtensions(final $Builder builder) {
super();
this.text = builder.text;
this.id = builder.id;
this.optionalVal1 = builder.optionalVal1;
this.optionalVal2 = builder.optionalVal2;
}
public static @java.lang.SuppressWarnings("all") TextDef builderExtensions() {
return new $Builder();
}
}