From 1d657f258f4db727a7fdd4f6e8f4270d87c8fcd4 Mon Sep 17 00:00:00 2001 From: Lukas Eder Date: Tue, 6 Jan 2015 18:31:31 +0100 Subject: [PATCH] [#1363] Generate a copy constructor for POJOs --- .../src/main/java/org/jooq/util/JavaGenerator.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java index fb50fbaa1f..7047cff3f7 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java @@ -1852,6 +1852,18 @@ public class JavaGenerator extends AbstractGenerator { out.println(); } + // [#1363] copy constructor + out.println(); + out.tab(1).println("public %s(%s value) {", className, className); + + for (TypedElementDefinition column : getTypedElements(tableOrUDT)) { + out.tab(2).println("this.%s = value.%s;", + getStrategy().getJavaMemberName(column, Mode.POJO), + getStrategy().getJavaMemberName(column, Mode.POJO)); + } + + out.tab(1).println("}"); + // Multi-constructor // [#3010] Invalid UDTs may have no attributes. Avoid generating this constructor in that case