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 448ec8eff5..4cd5028958 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/AbstractGenerator.java @@ -70,6 +70,7 @@ abstract class AbstractGenerator implements Generator { boolean generateGlobalSequenceReferences = true; boolean generateGlobalTableReferences = true; boolean generateGlobalUDTReferences = true; + boolean generateJavaTimeTypes = true; boolean fluentSetters = false; String fullyQualifiedTypes = ""; @@ -303,6 +304,16 @@ public void setFullyQualifiedTypes(String fullyQualifiedTypes) { this.fullyQualifiedTypes = fullyQualifiedTypes; } + @Override + public boolean generateJavaTimeTypes() { + return generateJavaTimeTypes; + } + + @Override + public void setGenerateJavaTimeTypes(boolean generateJavaTimeTypes) { + this.generateJavaTimeTypes = generateJavaTimeTypes; + } + // ---- @Override 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 2453cdda2a..8d8d80619a 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/GenerationTool.java @@ -412,6 +412,18 @@ else if (schema.getOutputSchema() == null) { generator.setGeneratePojosEqualsAndHashCode(g.getGenerate().isPojosEqualsAndHashCode()); if (g.getGenerate().getFullyQualifiedTypes() != null) generator.setFullyQualifiedTypes(g.getGenerate().getFullyQualifiedTypes()); + if (g.getGenerate().isJavaTimeTypes() != null) + generator.setGenerateJavaTimeTypes(g.getGenerate().isJavaTimeTypes()); + + /* [java-8] */ + if (true) + ; + else + /* [/java-8] */ + if (!Boolean.FALSE.equals(g.getGenerate().isJavaTimeTypes())) { + log.warn("INVALID CONFIG", "The java.time API cannot be used in the Java 6 distribution of jOOQ 3.7+"); + generator.setGenerateJavaTimeTypes(false); + } if (Boolean.TRUE.equals(g.getGenerate().isJpaAnnotations())) log.warn("DEPRECATED", "The flag is deprecated and used for backwards-compatibility only. It will be removed in the future."); 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 8fdd65fe6e..f6e8807d73 100644 --- a/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java +++ b/jOOQ-codegen/src/main/java/org/jooq/util/Generator.java @@ -106,6 +106,7 @@ public interface Generator { void setGenerateGeneratedAnnotation(boolean generateGeneratedAnnotation); boolean useSchemaVersionProvider(); + void setUseSchemaVersionProvider(boolean useSchemaVersionProvider); /** @@ -264,6 +265,22 @@ public interface Generator { */ void setFullyQualifiedTypes(String fullyQualifiedTypes); + /** + * A flag indicating whether Java 8's java.time types should be used by the + * source code generator, rather than JDBC's java.sql types. + *

+ * This flag is ignored in the commercial Java 6 distribution of jOOQ 3.7+ + */ + boolean generateJavaTimeTypes(); + + /** + * A flag indicating whether Java 8's java.time types should be used by the + * source code generator, rather than JDBC's java.sql types. + *

+ * This flag is ignored in the commercial Java 6 distribution of jOOQ 3.7+ + */ + void setGenerateJavaTimeTypes(boolean generateJavaTimeTypes); + /** * The target directory */ diff --git a/jOOQ-meta/pom.xml b/jOOQ-meta/pom.xml index 17099c3384..81ffd36d92 100644 --- a/jOOQ-meta/pom.xml +++ b/jOOQ-meta/pom.xml @@ -47,7 +47,7 @@ src/main/resources/xsd src/main/resources/xjb/codegen - jooq-codegen-3.6.0.xsd + jooq-codegen-3.7.0.xsd org.jooq.util.jaxb diff --git a/jOOQ-meta/src/main/resources/xjb/codegen/binding.xjb b/jOOQ-meta/src/main/resources/xjb/codegen/binding.xjb index 8ff43e6953..18556a2edd 100644 --- a/jOOQ-meta/src/main/resources/xjb/codegen/binding.xjb +++ b/jOOQ-meta/src/main/resources/xjb/codegen/binding.xjb @@ -11,7 +11,7 @@ - + @@ -19,7 +19,7 @@ - + diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.7.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.7.0.xsd new file mode 100644 index 0000000000..b8536784b0 --- /dev/null +++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.7.0.xsd @@ -0,0 +1,798 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +