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