[#4164] Generate varargs setters for array types on interfaces / records / pojos, etc
This commit is contained in:
parent
a7b659c3fb
commit
fb349dc083
@ -285,7 +285,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private final void generate(CatalogDefinition catalog) {
|
||||
private void generate(CatalogDefinition catalog) {
|
||||
String newVersion = catalog.getDatabase().getCatalogVersionProvider().version(catalog);
|
||||
|
||||
if (StringUtils.isBlank(newVersion)) {
|
||||
@ -320,7 +320,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
}
|
||||
|
||||
private final void generate(SchemaDefinition schema) {
|
||||
private void generate(SchemaDefinition schema) {
|
||||
String newVersion = schema.getDatabase().getSchemaVersionProvider().version(schema);
|
||||
|
||||
if (StringUtils.isBlank(newVersion)) {
|
||||
@ -940,7 +940,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
else {
|
||||
out.tab(1).overrideIf(generateInterfaces() && !generateImmutablePojos() && !isUDT);
|
||||
out.tab(1).println("public %s %s(%s value) {", setterReturnType, setter, type);
|
||||
out.tab(1).println("public %s %s(%s value) {", setterReturnType, setter, varargsIfArray(type));
|
||||
out.tab(2).println("set(%s, value);", i);
|
||||
if (fluentSetters())
|
||||
out.tab(2).println("return this;");
|
||||
@ -969,7 +969,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
out.tab(1).println("}");
|
||||
}
|
||||
else {
|
||||
out.tab(1).println("public %s %s(%s value) {", setterReturnType, setter, columnTypeInterface);
|
||||
out.tab(1).println("public %s %s(%s value) {", setterReturnType, setter, varargsIfArray(columnTypeInterface));
|
||||
out.tab(2).println("if (value == null)");
|
||||
out.tab(3).println("set(%s, null);", i);
|
||||
|
||||
@ -1156,7 +1156,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
else {
|
||||
out.tab(1).overrideInherit();
|
||||
out.tab(1).println("public %s value%s(%s value) {", className, i, colType);
|
||||
out.tab(1).println("public %s value%s(%s value) {", className, i, varargsIfArray(colType));
|
||||
out.tab(2).println("%s(value);", colSetter);
|
||||
out.tab(2).println("return this;");
|
||||
out.tab(1).println("}");
|
||||
@ -1289,7 +1289,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
printClassJavadoc(out, table);
|
||||
}
|
||||
|
||||
private final String refRowType(JavaWriter out, Collection<? extends TypedElementDefinition<?>> columns) {
|
||||
private String refRowType(JavaWriter out, Collection<? extends TypedElementDefinition<?>> columns) {
|
||||
StringBuilder result = new StringBuilder();
|
||||
String separator = "";
|
||||
|
||||
@ -1373,7 +1373,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
if (scala)
|
||||
out.tab(1).println("def %s(value : %s) : %s", setter, type, setterReturnType);
|
||||
else
|
||||
out.tab(1).println("public %s %s(%s value);", setterReturnType, setter, type);
|
||||
out.tab(1).println("public %s %s(%s value);", setterReturnType, setter, varargsIfArray(type));
|
||||
}
|
||||
|
||||
out.tab(1).javadoc("Getter for <code>%s</code>.%s", name, defaultIfBlank(" " + comment, ""));
|
||||
@ -2740,7 +2740,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
else {
|
||||
out.tab(1).overrideIf(generateInterfaces() && !isUDT);
|
||||
out.tab(1).println("public %s %s(%s %s) {", columnSetterReturnType, columnSetter, columnType, columnMember);
|
||||
out.tab(1).println("public %s %s(%s %s) {", columnSetterReturnType, columnSetter, varargsIfArray(columnType), columnMember);
|
||||
out.tab(2).println("this.%s = %s;", columnMember, columnMember);
|
||||
if (fluentSetters())
|
||||
out.tab(2).println("return this;");
|
||||
@ -2770,7 +2770,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
}
|
||||
else {
|
||||
out.tab(1).override();
|
||||
out.tab(1).println("public %s %s(%s %s) {", columnSetterReturnType, columnSetter, columnTypeInterface, columnMember);
|
||||
out.tab(1).println("public %s %s(%s %s) {", columnSetterReturnType, columnSetter, varargsIfArray(columnTypeInterface), columnMember);
|
||||
out.tab(2).println("if (%s == null)", columnMember);
|
||||
out.tab(3).println("this.%s = null;", columnMember);
|
||||
|
||||
@ -4083,7 +4083,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
out.tab(1).println("}");
|
||||
}
|
||||
else {
|
||||
out.tab(1).println("public void %s(%s %s) {", setter, refNumberType(out, parameter.getType()), paramName);
|
||||
out.tab(1).println("public void %s(%s %s) {", setter, varargsIfArray(refNumberType(out, parameter.getType())), paramName);
|
||||
out.tab(2).println("set%s(%s, %s);", numberValue, paramId, paramName);
|
||||
out.tab(1).println("}");
|
||||
}
|
||||
@ -4727,7 +4727,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
out.println("@%s({ \"all\", \"unchecked\", \"rawtypes\" })", out.ref("java.lang.SuppressWarnings"));
|
||||
}
|
||||
|
||||
private final String readVersion(File file, String type) {
|
||||
private String readVersion(File file, String type) {
|
||||
String result = null;
|
||||
|
||||
try {
|
||||
@ -5195,13 +5195,22 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
return result;
|
||||
}
|
||||
|
||||
private final String classOf(String string) {
|
||||
private String classOf(String string) {
|
||||
if (scala)
|
||||
return "classOf[" + string + "]";
|
||||
else
|
||||
return string + ".class";
|
||||
}
|
||||
|
||||
private static final Pattern SQUARE_BRACKETS = Pattern.compile("\\[\\]$");
|
||||
|
||||
private String varargsIfArray(String type) {
|
||||
if (scala)
|
||||
return type;
|
||||
else
|
||||
return SQUARE_BRACKETS.matcher(type).replaceFirst("...");
|
||||
}
|
||||
|
||||
// [#3880] Users may need to call this method
|
||||
protected JavaWriter newJavaWriter(File file) {
|
||||
if (scala)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user