From ddf6a931ae561596eed32d60a38abecd1b8a4ecd Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Wed, 19 Aug 2020 17:18:35 +0200 Subject: [PATCH] [jOOQ/jOOQ#2530] [jOOQ/jOOQ#6124] [jOOQ/jOOQ#10481] Updated kotlin code generation --- .../java/org/jooq/codegen/JavaGenerator.java | 41 ++++++++++++++----- 1 file changed, 31 insertions(+), 10 deletions(-) diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java index 7576f962a1..0d444c92e0 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java @@ -1795,7 +1795,7 @@ public class JavaGenerator extends AbstractGenerator { arguments.add(columnMember + " : " + type); } else if (kotlin) { - arguments.add(columnMember + ": " + type + (column instanceof EmbeddableColumnDefinition ? "" : "?") + " = null"); + arguments.add(columnMember + ": " + type + "? = null"); } else { final String nullableAnnotation = nullableOrNonnullAnnotation(out, column); @@ -1997,7 +1997,7 @@ public class JavaGenerator extends AbstractGenerator { if (!generateInterfaces()) { if (!printDeprecationIfUnknownType(out, typeFull)) - out.javadoc("Setter for embeddable %s.", name); + out.javadoc("Setter for the embeddable %s.", name); if (scala) { out.println("def %s(value: %s): %s = {", setter, type, setterReturnType); @@ -2012,11 +2012,21 @@ public class JavaGenerator extends AbstractGenerator { out.println("public %s %s([[before=@][after= ][%s]]%s value) {", setterReturnType, setter, list(nonnullAnnotation), type); } - for (EmbeddableColumnDefinition column : embeddable.getColumns()) { - final String s = getStrategy().getJavaSetterName(column.getReferencingColumn(), Mode.RECORD); - final String g = getStrategy().getJavaGetterName(column, Mode.RECORD); + if (kotlin) { + for (EmbeddableColumnDefinition column : embeddable.getColumns()) { + final String s = getStrategy().getJavaMemberName(column.getReferencingColumn()); + final String g = getStrategy().getJavaMemberName(column); - out.println("%s(value.%s())%s", s, g, semicolon); + out.println("%s = value.%s", s, g); + } + } + else { + for (EmbeddableColumnDefinition column : embeddable.getColumns()) { + final String s = getStrategy().getJavaSetterName(column.getReferencingColumn(), Mode.RECORD); + final String g = getStrategy().getJavaGetterName(column, Mode.RECORD); + + out.println("%s(value.%s())%s", s, g, semicolon); + } } if (generateFluentSetters()) @@ -2118,11 +2128,22 @@ public class JavaGenerator extends AbstractGenerator { } String separator = " "; - for (EmbeddableColumnDefinition column : embeddable.getColumns()) { - final String g = getStrategy().getJavaGetterName(column.getReferencingColumn(), Mode.RECORD); - out.println("%s%s()", separator, g); - separator = ", "; + if (kotlin) { + for (EmbeddableColumnDefinition column : embeddable.getColumns()) { + final String g = getStrategy().getJavaMemberName(column.getReferencingColumn()); + + out.println("%s%s", separator, g); + separator = ", "; + } + } + else { + for (EmbeddableColumnDefinition column : embeddable.getColumns()) { + final String g = getStrategy().getJavaGetterName(column.getReferencingColumn(), Mode.RECORD); + + out.println("%s%s()", separator, g); + separator = ", "; + } } if (scala || kotlin) {