serialVersionUID that should be generated.
+ */
+ GeneratedSerialVersionUID generatedSerialVersionUID();
+
+ /**
+ * The type of serialVersionUID that should be generated.
+ */
+ void setGenerateGeneratedSerialVersionUID(GeneratedSerialVersionUID generatedSerialVersionUID);
+
/**
* Whether global object references should be generated
*/
diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
index c0b88df4d4..7fac00896a 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaGenerator.java
@@ -8315,7 +8315,7 @@ public class JavaGenerator extends AbstractGenerator {
// [#3880] Users may need to call this method
protected JavaWriter newJavaWriter(File file) {
file = fixSuffix(file);
- JavaWriter result = new JavaWriter(file, generateFullyQualifiedTypes(), targetEncoding, generateJavadoc(), fileCache);
+ JavaWriter result = new JavaWriter(file, generateFullyQualifiedTypes(), targetEncoding, generateJavadoc(), fileCache, generatedSerialVersionUID());
if (generateIndentation != null)
result.tabString(generateIndentation);
diff --git a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java
index f942b473d3..05dd9caad0 100644
--- a/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java
+++ b/jOOQ-codegen/src/main/java/org/jooq/codegen/JavaWriter.java
@@ -17,6 +17,7 @@ import java.util.TreeSet;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.jooq.meta.jaxb.GeneratedSerialVersionUID;
import org.jooq.tools.StringUtils;
/**
@@ -29,19 +30,20 @@ import org.jooq.tools.StringUtils;
*/
public class JavaWriter extends GeneratorWriter@@ -2545,6 +2564,15 @@ public class Generate implements Serializable, XMLAppendable return this; } + /** + * The serial version UID to be generated in all files. + * + */ + public Generate withGeneratedSerialVersionUID(GeneratedSerialVersionUID value) { + setGeneratedSerialVersionUID(value); + return this; + } + /** * A regular expression matching all the types in generated code that should be fully qualified. *
@@ -2669,6 +2697,7 @@ public class Generate implements Serializable, XMLAppendable builder.append("fluentSetters", fluentSetters); builder.append("javaBeansGettersAndSetters", javaBeansGettersAndSetters); builder.append("varargSetters", varargSetters); + builder.append("generatedSerialVersionUID", generatedSerialVersionUID); builder.append("fullyQualifiedTypes", fullyQualifiedTypes); builder.append("emptyCatalogs", emptyCatalogs); builder.append("emptySchemas", emptySchemas); @@ -3380,6 +3409,15 @@ public class Generate implements Serializable, XMLAppendable return false; } } + if (generatedSerialVersionUID == null) { + if (other.generatedSerialVersionUID!= null) { + return false; + } + } else { + if (!generatedSerialVersionUID.equals(other.generatedSerialVersionUID)) { + return false; + } + } if (fullyQualifiedTypes == null) { if (other.fullyQualifiedTypes!= null) { return false; @@ -3517,6 +3555,7 @@ public class Generate implements Serializable, XMLAppendable result = ((prime*result)+((fluentSetters == null)? 0 :fluentSetters.hashCode())); result = ((prime*result)+((javaBeansGettersAndSetters == null)? 0 :javaBeansGettersAndSetters.hashCode())); result = ((prime*result)+((varargSetters == null)? 0 :varargSetters.hashCode())); + result = ((prime*result)+((generatedSerialVersionUID == null)? 0 :generatedSerialVersionUID.hashCode())); result = ((prime*result)+((fullyQualifiedTypes == null)? 0 :fullyQualifiedTypes.hashCode())); result = ((prime*result)+((emptyCatalogs == null)? 0 :emptyCatalogs.hashCode())); result = ((prime*result)+((emptySchemas == null)? 0 :emptySchemas.hashCode())); diff --git a/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/GeneratedSerialVersionUID.java b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/GeneratedSerialVersionUID.java new file mode 100644 index 0000000000..a35b0ddf9f --- /dev/null +++ b/jOOQ-meta/src/main/java/org/jooq/meta/jaxb/GeneratedSerialVersionUID.java @@ -0,0 +1,40 @@ + +package org.jooq.meta.jaxb; + +import javax.xml.bind.annotation.XmlEnum; +import javax.xml.bind.annotation.XmlType; + + +/** + *
Java class for GeneratedSerialVersionUID. + * + *
The following schema fragment specifies the expected content contained within this class. + *
+ *
+ * <simpleType name="GeneratedSerialVersionUID">
+ * <restriction base="{http://www.w3.org/2001/XMLSchema}string">
+ * <enumeration value="HASH"/>
+ * <enumeration value="CONSTANT"/>
+ * <enumeration value="OFF"/>
+ * </restriction>
+ * </simpleType>
+ *
+ *
+ */
+@XmlType(name = "GeneratedSerialVersionUID")
+@XmlEnum
+public enum GeneratedSerialVersionUID {
+
+ HASH,
+ CONSTANT,
+ OFF;
+
+ public String value() {
+ return name();
+ }
+
+ public static GeneratedSerialVersionUID fromValue(String v) {
+ return valueOf(v);
+ }
+
+}
diff --git a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.14.0.xsd b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.14.0.xsd
index 66409feeea..439f29497d 100644
--- a/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.14.0.xsd
+++ b/jOOQ-meta/src/main/resources/xsd/jooq-codegen-3.14.0.xsd
@@ -1739,6 +1739,10 @@ Custom GeneratorStrategy implementations are unaffected]]>
This may lead to compilation warnings in current Java versions.]]>
+
+