[jOOQ/jOOQ#8808] Only qualify sequence class references when required
The `Sequences` class will now only have fully qualified references to the sequence classes when there is a name conflict between the schema and any of its sequences.
This commit is contained in:
parent
1a3d5d0252
commit
3dbcccb65a
@ -4643,12 +4643,15 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
else
|
||||
out.println("public class Sequences {");
|
||||
|
||||
boolean qualifySequenceClassReferences = containsConflictingDefinition(schema, database.getSequences(schema));
|
||||
|
||||
for (SequenceDefinition sequence : database.getSequences(schema)) {
|
||||
final String seqTypeFull = getJavaType(sequence.getType(resolver()));
|
||||
final String seqType = out.ref(seqTypeFull);
|
||||
final String seqId = getStrategy().getJavaIdentifier(sequence);
|
||||
final String seqName = sequence.getOutputName();
|
||||
final String schemaId = getStrategy().getFullJavaIdentifier(schema);
|
||||
final String schemaId = qualifySequenceClassReferences ? getStrategy().getFullJavaIdentifier(schema)
|
||||
: out.ref(getStrategy().getFullJavaIdentifier(schema), 2);
|
||||
final String typeRef = getJavaTypeReference(sequence.getDatabase(), sequence.getType(resolver()));
|
||||
|
||||
if (!printDeprecationIfUnknownType(out, seqTypeFull))
|
||||
@ -4666,6 +4669,14 @@ public class JavaGenerator extends AbstractGenerator {
|
||||
watch.splitInfo("Sequences generated");
|
||||
}
|
||||
|
||||
private boolean containsConflictingDefinition(SchemaDefinition schema, List<? extends Definition> definitions) {
|
||||
final String unqualifiedSchemaId = getStrategy().getJavaIdentifier(schema);
|
||||
for (Definition def : definitions)
|
||||
if (unqualifiedSchemaId.equals(getStrategy().getJavaIdentifier(def)))
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
protected void generateCatalog(CatalogDefinition catalog) {
|
||||
JavaWriter out = newJavaWriter(getFile(catalog));
|
||||
log.info("");
|
||||
|
||||
Loading…
Reference in New Issue
Block a user