[jOOQ/jOOQ#9442] Code generator uses factory method for sequences
Instead of generating code which directly uses the `SequenceImpl` constructor, the generator now emits code using a static factory method in the `Internal` factory class. Also removes duplicate H2 dependency from `jOOQ/pom.xml`.
This commit is contained in:
parent
d420213d2e
commit
fcc90d0c5a
@ -4627,7 +4627,16 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
if (scala)
|
||||
out.tab(1).println("val %s : %s[%s] = new %s[%s](\"%s\", %s, %s)", seqId, Sequence.class, seqType, SequenceImpl.class, seqType, seqName, schemaId, typeRef);
|
||||
else
|
||||
out.tab(1).println("public static final %s<%s> %s = new %s<%s>(\"%s\", %s, %s);", Sequence.class, seqType, seqId, SequenceImpl.class, seqType, seqName, schemaId, typeRef);
|
||||
out.tab(1).println("public static final %s<%s> %s = %s.<%s> createSequence(\"%s\", %s, %s);",
|
||||
Sequence.class,
|
||||
seqType,
|
||||
seqId,
|
||||
Internal.class,
|
||||
seqType,
|
||||
seqName,
|
||||
schemaId,
|
||||
typeRef
|
||||
);
|
||||
}
|
||||
|
||||
out.println("}");
|
||||
|
||||
@ -139,11 +139,6 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@ -48,6 +48,8 @@ import org.jooq.Name;
|
||||
import org.jooq.OrderField;
|
||||
import org.jooq.Parameter;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Schema;
|
||||
import org.jooq.Sequence;
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableField;
|
||||
import org.jooq.UniqueKey;
|
||||
@ -136,6 +138,13 @@ public final class Internal {
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory method for sequences.
|
||||
*/
|
||||
public static final <T extends Number> Sequence<T> createSequence(String name, Schema schema, DataType<T> type) {
|
||||
return new SequenceImpl<>(name, schema, type, false);
|
||||
}
|
||||
|
||||
/**
|
||||
* Factory method for check constraints.
|
||||
*/
|
||||
|
||||
Loading…
Reference in New Issue
Block a user