diff --git a/jOOQ-tools/src/org/jooq/xtend/Generators.xtend b/jOOQ-tools/src/org/jooq/xtend/Generators.xtend index ee59aea539..38ad2f7e6f 100644 --- a/jOOQ-tools/src/org/jooq/xtend/Generators.xtend +++ b/jOOQ-tools/src/org/jooq/xtend/Generators.xtend @@ -356,4 +356,46 @@ abstract class Generators { def degreeOr(int degree, String or) { return if (degree == 0) or else degree } + + /** + * The generic type of a class, e.g. "" or <T1, T2, T3> + */ + def type(int degree) { + type(degree, "") + } + + /** + * The generic type of a class, e.g. "" or <T1, T2, T3> + */ + def type(int degree, String spacer) { + '''«IF degree > 0»<«TN(degree)»>«spacer»«ENDIF»''' + } + + /** + * The generic type suffix of a class, e.g. N or 3<T1, T2, T3> + */ + def typeSuffix(int degree) { + '''«typeSuffixRaw(degree)»«type(degree)»''' + } + + /** + * The "raw" generic type suffix of a class, e.g. N or 3 + */ + def typeSuffixRaw(int degree) { + '''«degreeOrN(degree)»''' + } + + /** + * The generic type suffix of a record, e.g. "" or 3<T1, T2, T3> + */ + def recTypeSuffix(int degree) { + '''«recTypeSuffixRaw(degree)»«type(degree)»''' + } + + /** + * The "raw" generic type suffix of a record, e.g. "" or 3 + */ + def recTypeSuffixRaw(int degree) { + '''«degreeOr(degree)»''' + } } \ No newline at end of file diff --git a/jOOQ-tools/src/org/jooq/xtend/Rows.xtend b/jOOQ-tools/src/org/jooq/xtend/Rows.xtend index eadb6737bd..0815b7ec96 100644 --- a/jOOQ-tools/src/org/jooq/xtend/Rows.xtend +++ b/jOOQ-tools/src/org/jooq/xtend/Rows.xtend @@ -48,22 +48,6 @@ class Rows extends Generators { rows.generateRowImpl(); } - def typeSuffix(int degree) { - '''«degreeOrN(degree)»«IF degree > 0»<«TN(degree)»>«ENDIF»''' - } - - def typeSuffixRaw(int degree) { - '''«degreeOrN(degree)»''' - } - - def recTypeSuffix(int degree) { - '''«degreeOr(degree)»«IF degree > 0»<«TN(degree)»>«ENDIF»''' - } - - def recTypeSuffixRaw(int degree) { - '''«degreeOr(degree)»''' - } - def generateRowClasses() { for (degree : (0..Constants::MAX_ROW_DEGREE)) { val out = new StringBuilder();