[jOOQ/jOOQ#9629] Add "sequenceFlags" option to code generator
The `<generate>` element now has a `<sequenceFlags>` element which can be used to disable the sequence flags generation, which is enabled by default.
This commit is contained in:
parent
791ed71c5b
commit
aa963f3010
@ -70,6 +70,7 @@ abstract class AbstractGenerator implements Generator {
|
||||
boolean useCatalogVersionProvider = false;
|
||||
boolean generateRoutines = true;
|
||||
boolean generateSequences = true;
|
||||
boolean generateSequenceFlags = true;
|
||||
boolean generateUDTs = true;
|
||||
boolean generateTables = true;
|
||||
boolean generateEmbeddables = true;
|
||||
@ -335,6 +336,16 @@ abstract class AbstractGenerator implements Generator {
|
||||
this.generateSequences = generateSequences;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generateSequenceFlags() {
|
||||
return generateSequenceFlags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setGenerateSequenceFlags(boolean generateSequenceFlags) {
|
||||
this.generateSequenceFlags = generateSequenceFlags;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean generateUDTs() {
|
||||
return generateUDTs;
|
||||
|
||||
@ -653,6 +653,8 @@ public class GenerationTool {
|
||||
generator.setGenerateRoutines(g.getGenerate().isRoutines());
|
||||
if (g.getGenerate().isSequences() != null)
|
||||
generator.setGenerateSequences(g.getGenerate().isSequences());
|
||||
if (g.getGenerate().isSequenceFlags() != null)
|
||||
generator.setGenerateSequenceFlags(g.getGenerate().isSequenceFlags());
|
||||
if (g.getGenerate().isUdts() != null)
|
||||
generator.setGenerateUDTs(g.getGenerate().isUdts());
|
||||
if (g.getGenerate().isTables() != null)
|
||||
|
||||
@ -182,6 +182,16 @@ public interface Generator {
|
||||
*/
|
||||
void setGenerateSequences(boolean generateSequences);
|
||||
|
||||
/**
|
||||
* Whether sequence flags should be generated.
|
||||
*/
|
||||
boolean generateSequenceFlags();
|
||||
|
||||
/**
|
||||
* Whether sequence flags should be generated.
|
||||
*/
|
||||
void setGenerateSequenceFlags(boolean generateSequenceFlags);
|
||||
|
||||
/**
|
||||
* Whether UDTs should be generated.
|
||||
*/
|
||||
|
||||
@ -357,6 +357,7 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
+ ((!generateRecords && generateDaos) ? " (forced to true because of <daos/>)" : ""));
|
||||
log.info(" routines", generateRoutines());
|
||||
log.info(" sequences", generateSequences());
|
||||
log.info(" sequenceFlags", generateSequenceFlags());
|
||||
log.info(" table-valued functions", generateTableValuedFunctions());
|
||||
log.info(" tables", generateTables()
|
||||
+ ((!generateTables && generateRecords) ? " (forced to true because of <records/>)" :
|
||||
@ -4623,6 +4624,8 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
if (!printDeprecationIfUnknownType(out, seqTypeFull))
|
||||
out.tab(1).javadoc("The sequence <code>%s</code>", sequence.getQualifiedOutputName());
|
||||
|
||||
boolean flags = generateSequenceFlags();
|
||||
|
||||
if (scala)
|
||||
out.tab(1).println("val %s : %s[%s] = %s.createSequence(\"%s\", %s, %s, %s, %s, %s, %s, %s, %s)",
|
||||
seqId,
|
||||
@ -4632,12 +4635,12 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
seqName,
|
||||
schemaId,
|
||||
typeRef,
|
||||
sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
|
||||
sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
|
||||
sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
|
||||
sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
|
||||
sequence.getCycle(),
|
||||
sequence.getCache() != null ? sequence.getCache() + "L" : "null");
|
||||
flags && sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
|
||||
flags && sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
|
||||
flags && sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
|
||||
flags && sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
|
||||
flags && sequence.getCycle(),
|
||||
flags && sequence.getCache() != null ? sequence.getCache() + "L" : "null");
|
||||
else
|
||||
out.tab(1).println("public static final %s<%s> %s = %s.<%s> createSequence(\"%s\", %s, %s, %s, %s, %s, %s, %s, %s);",
|
||||
Sequence.class,
|
||||
@ -4648,12 +4651,12 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
seqName,
|
||||
schemaId,
|
||||
typeRef,
|
||||
sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
|
||||
sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
|
||||
sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
|
||||
sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
|
||||
sequence.getCycle(),
|
||||
sequence.getCache() != null ? sequence.getCache() + "L" : "null"
|
||||
flags && sequence.getStartWith() != null ? sequence.getStartWith() + "L" : "null",
|
||||
flags && sequence.getIncrementBy() != null ? sequence.getIncrementBy() + "L" : "null",
|
||||
flags && sequence.getMinvalue() != null ? sequence.getMinvalue() + "L" : "null",
|
||||
flags && sequence.getMaxvalue() != null ? sequence.getMaxvalue() + "L" : "null",
|
||||
flags && sequence.getCycle(),
|
||||
flags && sequence.getCache() != null ? sequence.getCache() + "L" : "null"
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@ -35,6 +35,8 @@ public class Generate implements Serializable, XMLAppendable
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean relations = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean sequenceFlags = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean implicitJoinPathsToOne = true;
|
||||
@XmlElement(defaultValue = "true")
|
||||
protected Boolean deprecated = true;
|
||||
@ -215,6 +217,30 @@ public class Generate implements Serializable, XMLAppendable
|
||||
this.relations = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sequence flags should be generated and used.
|
||||
*
|
||||
* @return
|
||||
* possible object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public Boolean isSequenceFlags() {
|
||||
return sequenceFlags;
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets the value of the sequenceFlags property.
|
||||
*
|
||||
* @param value
|
||||
* allowed object is
|
||||
* {@link Boolean }
|
||||
*
|
||||
*/
|
||||
public void setSequenceFlags(Boolean value) {
|
||||
this.sequenceFlags = value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Generate implicit join path constructors on generated tables for outgoing foreign key relationships (to-one relationships)
|
||||
*
|
||||
@ -1758,6 +1784,11 @@ public class Generate implements Serializable, XMLAppendable
|
||||
return this;
|
||||
}
|
||||
|
||||
public Generate withSequenceFlags(Boolean value) {
|
||||
setSequenceFlags(value);
|
||||
return this;
|
||||
}
|
||||
|
||||
public Generate withImplicitJoinPathsToOne(Boolean value) {
|
||||
setImplicitJoinPathsToOne(value);
|
||||
return this;
|
||||
@ -2107,6 +2138,7 @@ public class Generate implements Serializable, XMLAppendable
|
||||
public final void appendTo(XMLBuilder builder) {
|
||||
builder.append("indexes", indexes);
|
||||
builder.append("relations", relations);
|
||||
builder.append("sequenceFlags", sequenceFlags);
|
||||
builder.append("implicitJoinPathsToOne", implicitJoinPathsToOne);
|
||||
builder.append("deprecated", deprecated);
|
||||
builder.append("deprecationOnUnknownTypes", deprecationOnUnknownTypes);
|
||||
@ -2210,6 +2242,15 @@ public class Generate implements Serializable, XMLAppendable
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (sequenceFlags == null) {
|
||||
if (other.sequenceFlags!= null) {
|
||||
return false;
|
||||
}
|
||||
} else {
|
||||
if (!sequenceFlags.equals(other.sequenceFlags)) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
if (implicitJoinPathsToOne == null) {
|
||||
if (other.implicitJoinPathsToOne!= null) {
|
||||
return false;
|
||||
@ -2795,6 +2836,7 @@ public class Generate implements Serializable, XMLAppendable
|
||||
int result = 1;
|
||||
result = ((prime*result)+((indexes == null)? 0 :indexes.hashCode()));
|
||||
result = ((prime*result)+((relations == null)? 0 :relations.hashCode()));
|
||||
result = ((prime*result)+((sequenceFlags == null)? 0 :sequenceFlags.hashCode()));
|
||||
result = ((prime*result)+((implicitJoinPathsToOne == null)? 0 :implicitJoinPathsToOne.hashCode()));
|
||||
result = ((prime*result)+((deprecated == null)? 0 :deprecated.hashCode()));
|
||||
result = ((prime*result)+((deprecationOnUnknownTypes == null)? 0 :deprecationOnUnknownTypes.hashCode()));
|
||||
|
||||
@ -1096,6 +1096,10 @@ type. If provided, both "includeExpression" and "includeTypes" must match.]]></j
|
||||
This is a prerequisite for various advanced features]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="sequenceFlags" type="boolean" default="true" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Sequence flags should be generated and used.]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
<element name="implicitJoinPathsToOne" type="boolean" default="true" minOccurs="0" maxOccurs="1">
|
||||
<annotation><appinfo><jxb:property><jxb:javadoc><![CDATA[Generate implicit join path constructors on generated tables for outgoing foreign key relationships (to-one relationships)]]></jxb:javadoc></jxb:property></appinfo></annotation>
|
||||
</element>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user