[#1801] Add Table.as(String, String...) to allow for creating a

table alias with aliased fields - Fixed code generator
This commit is contained in:
Lukas Eder 2013-01-02 14:39:50 +01:00
parent 48b25650b4
commit d22d68f19e

View File

@ -1422,12 +1422,18 @@ public class JavaGenerator extends AbstractGenerator {
if (generateInstanceFields()) {
// [#1730] Prevent compilation errors
final String schemaId = schema.isDefaultSchema() ? "null" : getStrategy().getFullJavaIdentifier(schema);
// [#1801] Cast to org.jooq.Schema to prevent ambiguities
final String schemaId = schema.isDefaultSchema() ? "(org.jooq.Schema) null" : getStrategy().getFullJavaIdentifier(schema);
out.tab(1).javadoc("Create an aliased <code>%s</code> table reference", table.getQualifiedOutputName());
out.tab(1).println("public %s(%s alias) {", className, String.class);
out.tab(2).println("super(alias, %s, %s);", schemaId, fullTableId);
out.tab(1).println("}");
out.tab(1).javadoc("Create an aliased <code>%s</code> table reference", table.getQualifiedOutputName());
out.tab(1).println("public %s(%s alias, %s... fieldAliases) {", className, String.class, String.class);
out.tab(2).println("super(alias, fieldAliases, %s, %s);", schemaId, fullTableId);
out.tab(1).println("}");
}
// Add primary / unique / foreign key information
@ -1527,6 +1533,11 @@ public class JavaGenerator extends AbstractGenerator {
out.tab(1).println("public %s as(%s alias) {", fullClassName, String.class);
out.tab(2).println("return new %s(alias);", fullClassName);
out.tab(1).println("}");
out.tab(1).overrideInherit();
out.tab(1).println("public %s as(%s alias, %s... fieldAliases) {", fullClassName, String.class, String.class);
out.tab(2).println("return new %s(alias, fieldAliases);", fullClassName);
out.tab(1).println("}");
}
out.println("}");