import java.util.Map;
import java.util.HashMap;
@lombok.Builder(prefix = "with") class BuilderPlain {
public static @java.lang.SuppressWarnings("all") interface OptionalDef {
public OptionalDef withOptionalVal1(final String optionalVal1);
public OptionalDef withOptionalVal2(final java.lang.Long arg0);
public OptionalDef withOptionalVal2(final java.util.Collection<? extends java.lang.Long> arg0);
public OptionalDef withOptionalVal3(final java.lang.String arg0, final java.lang.Long arg1);
public OptionalDef withOptionalVal3(final java.util.Map<? extends java.lang.String, ? extends java.lang.Long> arg0);
public BuilderPlain build();
}
private static @java.lang.SuppressWarnings("all") class $Builder implements OptionalDef {
private String optionalVal1 = $optionalVal1Default();
private java.util.List<java.lang.Long> optionalVal2 = $optionalVal2Default();
private Map<java.lang.String, java.lang.Long> optionalVal3 = $optionalVal3Default();
static String $optionalVal1Default() {
return DEFAULT;
}
static java.util.List<java.lang.Long> $optionalVal2Default() {
return new java.util.ArrayList<java.lang.Long>();
}
static Map<java.lang.String, java.lang.Long> $optionalVal3Default() {
return new HashMap<java.lang.String, java.lang.Long>();
}
public OptionalDef withOptionalVal1(final String optionalVal1) {
this.optionalVal1 = optionalVal1;
return this;
}
public OptionalDef withOptionalVal2(final java.lang.Long arg0) {
this.optionalVal2.add(arg0);
return this;
}
public OptionalDef withOptionalVal2(final java.util.Collection<? extends java.lang.Long> arg0) {
this.optionalVal2.addAll(arg0);
return this;
}
public OptionalDef withOptionalVal3(final java.lang.String arg0, final java.lang.Long arg1) {
this.optionalVal3.put(arg0, arg1);
return this;
}
public OptionalDef withOptionalVal3(final java.util.Map<? extends java.lang.String, ? extends java.lang.Long> arg0) {
this.optionalVal3.putAll(arg0);
return this;
}
public BuilderPlain build() {
return new BuilderPlain(this);
}
private $Builder() {
super();
}
}
public static final String DEFAULT = "default";
public static final int IGNORE = 2;
private String optionalVal1 = $Builder.$optionalVal1Default();
private java.util.List<java.lang.Long> optionalVal2 = $Builder.$optionalVal2Default();
private Map<java.lang.String, java.lang.Long> optionalVal3 = $Builder.$optionalVal3Default();
<clinit>() {
}
private @java.lang.SuppressWarnings("all") BuilderPlain(final $Builder builder) {
super();
this.optionalVal1 = builder.optionalVal1;
this.optionalVal2 = builder.optionalVal2;
this.optionalVal3 = builder.optionalVal3;
}
public static @java.lang.SuppressWarnings("all") OptionalDef builderPlain() {
return new $Builder();
}
}