diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
index 502faab962..e359c1405a 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java
@@ -94,6 +94,7 @@ abstract class AbstractGenerator implements Generator {
boolean generateGlobalQueueReferences = true;
boolean generateGlobalLinkReferences = true;
boolean generateGlobalKeyReferences = true;
+ boolean generateJavadoc = true;
boolean generateComments = true;
boolean generateCommentsOnAttributes = true;
boolean generateCommentsOnCatalogs = true;
@@ -570,6 +571,16 @@ abstract class AbstractGenerator implements Generator {
this.generateKeys = keys;
}
+ @Override
+ public boolean generateJavadoc() {
+ return generateJavadoc;
+ }
+
+ @Override
+ public void setGenerateJavadoc(boolean javadoc) {
+ this.generateJavadoc = javadoc;
+ }
+
@Override
public boolean generateComments() {
return generateComments;
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java b/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
index ce2b861bee..4f6f877d10 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java
@@ -642,6 +642,8 @@ public class GenerationTool {
generator.setGenerateGlobalLinkReferences(g.getGenerate().isGlobalLinkReferences());
if (g.getGenerate().isGlobalKeyReferences() != null)
generator.setGenerateGlobalKeyReferences(g.getGenerate().isGlobalKeyReferences());
+ if (g.getGenerate().isJavadoc() != null)
+ generator.setGenerateJavadoc(g.getGenerate().isJavadoc());
if (g.getGenerate().isComments() != null)
generator.setGenerateComments(g.getGenerate().isComments());
if (g.getGenerate().isCommentsOnAttributes() != null)
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java b/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
index 7a37368be8..6f2ae7f0cc 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java
@@ -393,6 +393,16 @@ public interface Generator {
*/
void setGenerateGlobalKeyReferences(boolean globalKeyReferences);
+ /**
+ * Whether any Javadoc should be generated.
+ */
+ boolean generateJavadoc();
+
+ /**
+ * Whether any Javadoc should be generated.
+ */
+ void setGenerateJavadoc(boolean javadoc);
+
/**
* Whether any SQL comments should be generated as Javadoc.
*/
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 992967e556..d205325c33 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java
@@ -309,6 +309,7 @@ public class JavaGenerator extends AbstractGenerator {
log.info(" interfaces", generateInterfaces()
+ ((!generateInterfaces && generateImmutableInterfaces) ? " (forced to true because of )" : ""));
log.info(" interfaces (immutable)", generateInterfaces());
+ log.info(" javadoc", generateJavadoc());
log.info(" keys", generateKeys());
log.info(" links", generateLinks());
log.info(" pojos", generatePojos()
@@ -5482,16 +5483,18 @@ public class JavaGenerator extends AbstractGenerator {
}
protected void printClassJavadoc(JavaWriter out, String comment) {
- out.println("/**");
+ if (generateJavadoc()) {
+ out.println("/**");
- if (comment != null && comment.length() > 0) {
- printJavadocParagraph(out, comment, "");
- }
- else {
- out.println(" * This class is generated by jOOQ.");
- }
+ if (comment != null && comment.length() > 0) {
+ printJavadocParagraph(out, comment, "");
+ }
+ else {
+ out.println(" * This class is generated by jOOQ.");
+ }
- out.println(" */");
+ out.println(" */");
+ }
}
protected void printClassAnnotations(JavaWriter out, SchemaDefinition schema) {
@@ -6140,7 +6143,7 @@ public class JavaGenerator extends AbstractGenerator {
// [#3880] Users may need to call this method
protected JavaWriter newJavaWriter(File file) {
file = fixSuffix(file);
- return new JavaWriter(file, generateFullyQualifiedTypes(), targetEncoding);
+ return new JavaWriter(file, generateFullyQualifiedTypes(), targetEncoding, generateJavadoc());
}
protected File getFile(Definition definition) {
diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/JavaWriter.java b/jOOQ-codegen/src/main/java/org/jooq/util/JavaWriter.java
index 3279d00455..f584172960 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaWriter.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaWriter.java
@@ -31,6 +31,7 @@ public class JavaWriter extends GeneratorWriter {
private static final String IMPORT_STATEMENT = "__IMPORT_STATEMENT__";
private final Pattern fullyQualifiedTypes;
+ private final boolean javadoc;
private final Set qualifiedTypes = new TreeSet();
private final Map unqualifiedTypes = new TreeMap();
private final String className;
@@ -42,12 +43,17 @@ public class JavaWriter extends GeneratorWriter {
}
public JavaWriter(File file, String fullyQualifiedTypes, String encoding) {
+ this(file, fullyQualifiedTypes, encoding, true);
+ }
+
+ public JavaWriter(File file, String fullyQualifiedTypes, String encoding, boolean javadoc) {
super(file, encoding);
this.className = file.getName().replaceAll("\\.(java|scala)$", "");
this.isJava = file.getName().endsWith(".java");
this.isScala = file.getName().endsWith(".scala");
this.fullyQualifiedTypes = fullyQualifiedTypes == null ? null : Pattern.compile(fullyQualifiedTypes);
+ this.javadoc = javadoc;
if (isJava)
tabString(" ");
@@ -66,19 +72,22 @@ public class JavaWriter extends GeneratorWriter {
}
public JavaWriter javadoc(String string, Object... args) {
- final int t = tab();
-
- // [#3450] [#4575] Must not print */ inside Javadoc
- String escaped = escapeJavadoc(string);
- Object[] escapedArgs = Arrays.copyOf(args, args.length);
- for (int i = 0; i < escapedArgs.length; i++)
- if (escapedArgs[i] instanceof String)
- escapedArgs[i] = escapeJavadoc((String) escapedArgs[i]);
-
+ int t = tab();
tab(t).println();
- tab(t).println("/**");
- tab(t).println(" * " + escaped, escapedArgs);
- tab(t).println(" */");
+
+ if (javadoc) {
+
+ // [#3450] [#4575] Must not print */ inside Javadoc
+ String escaped = escapeJavadoc(string);
+ Object[] escapedArgs = Arrays.copyOf(args, args.length);
+ for (int i = 0; i < escapedArgs.length; i++)
+ if (escapedArgs[i] instanceof String)
+ escapedArgs[i] = escapeJavadoc((String) escapedArgs[i]);
+
+ tab(t).println("/**");
+ tab(t).println(" * " + escaped, escapedArgs);
+ tab(t).println(" */");
+ }
return this;
}
diff --git a/jOOQ-meta/src/main/java/org/jooq/util/jaxb/Generate.java b/jOOQ-meta/src/main/java/org/jooq/util/jaxb/Generate.java
index 1adda9ff59..a8cca43d33 100644
--- a/jOOQ-meta/src/main/java/org/jooq/util/jaxb/Generate.java
+++ b/jOOQ-meta/src/main/java/org/jooq/util/jaxb/Generate.java
@@ -107,6 +107,8 @@ public class Generate implements Serializable
@XmlElement(defaultValue = "true")
protected Boolean globalKeyReferences = true;
@XmlElement(defaultValue = "true")
+ protected Boolean javadoc = true;
+ @XmlElement(defaultValue = "true")
protected Boolean comments = true;
@XmlElement(defaultValue = "true")
protected Boolean commentsOnCatalogs = true;
@@ -1020,6 +1022,30 @@ public class Generate implements Serializable
this.globalKeyReferences = value;
}
+ /**
+ * Turn off generation of Javadoc on all objects.
+ *
+ * @return
+ * possible object is
+ * {@link Boolean }
+ *
+ */
+ public Boolean isJavadoc() {
+ return javadoc;
+ }
+
+ /**
+ * Sets the value of the javadoc property.
+ *
+ * @param value
+ * allowed object is
+ * {@link Boolean }
+ *
+ */
+ public void setJavadoc(Boolean value) {
+ this.javadoc = value;
+ }
+
/**
* Turn off generation of all SQL comments as Javadoc on all objects.
*
@@ -1754,6 +1780,11 @@ public class Generate implements Serializable
return this;
}
+ public Generate withJavadoc(Boolean value) {
+ setJavadoc(value);
+ return this;
+ }
+
public Generate withComments(Boolean value) {
setComments(value);
return this;
diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.11.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.11.0.xsd
index f1dd7e8c82..93a9ac1d6b 100644
--- a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.11.0.xsd
+++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.11.0.xsd
@@ -968,6 +968,10 @@ jOOQ version used for source code]]>
+
+
+
+