[#3906] Allow for customising generated file headers

This commit is contained in:
lukaseder 2016-11-18 16:17:25 +01:00
parent 83accf8ae0
commit 0314060fac
5 changed files with 36 additions and 3 deletions

View File

@ -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();

View File

@ -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) {

View File

@ -340,6 +340,20 @@ public interface GeneratorStrategy {
*/
File getFile(String fileName);
/**
* @return The Java class file header, e.g. <code><pre>
* This file is generated by jOOQ.
* </pre></code>
*/
String getFileHeader(Definition definition);
/**
* @return The Java class file header, e.g. <code><pre>
* This file is generated by jOOQ.
* </pre></code>
*/
String getFileHeader(Definition definition, Mode mode);
/**
* @return The overload suffix to be applied when generating overloaded
* routine artefacts, e.g.

View File

@ -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);

View File

@ -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));