diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGeneratorStrategy.java index 71920bab75..94dd4ade04 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGeneratorStrategy.java @@ -93,6 +93,11 @@ public abstract class AbstractGeneratorStrategy implements GeneratorStrategy { return new File(dir + "/" + pkg, fileName); } + @Override + public final String getFileHeader(Definition definition) { + return getFileHeader(definition, Mode.DEFAULT); + } + @Override public final String getFullJavaIdentifier(Definition definition) { StringBuilder sb = new StringBuilder(); diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java index 2c282d5a88..f65ffa88c0 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/DefaultGeneratorStrategy.java @@ -95,6 +95,11 @@ public class DefaultGeneratorStrategy extends AbstractGeneratorStrategy { // Strategy methods // ------------------------------------------------------------------------- + @Override + public String getFileHeader(Definition definition, Mode mode) { + return "This file is generated by jOOQ."; + } + @Override public String getJavaIdentifier(Definition definition) { diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategy.java b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategy.java index 90d027b720..f7855ab44a 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategy.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategy.java @@ -340,6 +340,20 @@ public interface GeneratorStrategy { */ File getFile(String fileName); + /** + * @return The Java class file header, e.g.
+     * This file is generated by jOOQ.
+     * 
+ */ + String getFileHeader(Definition definition); + + /** + * @return The Java class file header, e.g.
+     * This file is generated by jOOQ.
+     * 
+ */ + String getFileHeader(Definition definition, Mode mode); + /** * @return The overload suffix to be applied when generating overloaded * routine artefacts, e.g. diff --git a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java index 3f037c54f1..77877c3f4f 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/GeneratorStrategyWrapper.java @@ -113,6 +113,11 @@ class GeneratorStrategyWrapper extends AbstractGeneratorStrategy { return delegate.getInstanceFields(); } + @Override + public String getFileHeader(Definition definition, Mode mode) { + return delegate.getFileHeader(definition, mode); + } + @Override public String getJavaIdentifier(Definition definition) { String identifier = convertToIdentifier(delegate.getJavaIdentifier(definition), language); 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 9c5f935293..7e2945e47c 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/JavaGenerator.java @@ -4874,9 +4874,13 @@ public class JavaGenerator extends AbstractGenerator { } protected void printPackage(JavaWriter out, Definition definition, Mode mode) { - out.println("/*"); - out.println(" * This file is generated by jOOQ"); - out.println(" */"); + String header = getStrategy().getFileHeader(definition, mode); + + if (!StringUtils.isBlank(header)) { + out.println("/*"); + printJavadocParagraph(out, header, ""); + out.println("*/"); + } if (scala) out.println("package %s", getStrategy().getJavaPackageName(definition, mode));