[#408] Add class prefixes, suffixes and other options to the code generator - deprecated getJavaClassNameLC, replaced by more meaningful method names
This commit is contained in:
parent
1a3b91734b
commit
385e4c6b30
@ -1883,7 +1883,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("\t *");
|
||||
|
||||
for (ParameterDefinition parameter : function.getInParameters()) {
|
||||
out.println("\t * @param " + strategy.getJavaClassNameLC(parameter));
|
||||
out.println("\t * @param " + strategy.getJavaMemberName(parameter));
|
||||
}
|
||||
|
||||
out.println("\t */");
|
||||
@ -1892,7 +1892,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.print("<");
|
||||
out.print(getJavaType(function.getReturnType()));
|
||||
out.print("> ");
|
||||
out.print(strategy.getJavaClassNameLC(function));
|
||||
out.print(strategy.getJavaMethodName(function));
|
||||
out.print("(");
|
||||
|
||||
String separator = "";
|
||||
@ -1909,7 +1909,7 @@ public class DefaultGenerator implements Generator {
|
||||
}
|
||||
|
||||
out.print(" ");
|
||||
out.print(strategy.getJavaClassNameLC(parameter));
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
|
||||
separator = ", ";
|
||||
}
|
||||
@ -1922,7 +1922,11 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("();");
|
||||
|
||||
for (ParameterDefinition parameter : function.getInParameters()) {
|
||||
out.println("\t\tf.set" + strategy.getJavaClassName(parameter) + "(" + strategy.getJavaClassNameLC(parameter) + ");");
|
||||
out.print("\t\tf.");
|
||||
out.print(strategy.getJavaSetterName(parameter));
|
||||
out.print("(");
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
out.println(");");
|
||||
}
|
||||
|
||||
out.println();
|
||||
@ -1943,7 +1947,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("\t *");
|
||||
|
||||
for (ParameterDefinition parameter : function.getInParameters()) {
|
||||
out.println("\t * @param " + strategy.getJavaClassNameLC(parameter));
|
||||
out.println("\t * @param " + strategy.getJavaMemberName(parameter));
|
||||
}
|
||||
|
||||
printThrowsDataAccessException(out);
|
||||
@ -1956,7 +1960,7 @@ public class DefaultGenerator implements Generator {
|
||||
|
||||
out.print(getJavaType(function.getReturnType()));
|
||||
out.print(" ");
|
||||
out.print(strategy.getJavaClassNameLC(function));
|
||||
out.print(strategy.getJavaMethodName(function));
|
||||
out.print("(");
|
||||
|
||||
String glue = "";
|
||||
@ -1975,7 +1979,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.print(glue);
|
||||
printNumberType(out, parameter.getType());
|
||||
out.print(" ");
|
||||
out.print(strategy.getJavaClassNameLC(parameter));
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
|
||||
glue = ", ";
|
||||
}
|
||||
@ -1988,15 +1992,15 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("();");
|
||||
|
||||
for (ParameterDefinition parameter : function.getInParameters()) {
|
||||
out.print("\t\tf.set");
|
||||
out.print(strategy.getJavaClassName(parameter));
|
||||
out.print("\t\tf.");
|
||||
out.print(strategy.getJavaSetterName(parameter));
|
||||
out.print("(");
|
||||
|
||||
if (instance && parameter.equals(function.getInParameters().get(0))) {
|
||||
out.print("this");
|
||||
}
|
||||
else {
|
||||
out.print(strategy.getJavaClassNameLC(parameter));
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
}
|
||||
|
||||
out.println(");");
|
||||
@ -2049,7 +2053,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("\t *");
|
||||
|
||||
for (ParameterDefinition parameter : procedure.getAllParameters()) {
|
||||
out.print("\t * @param " + strategy.getJavaClassNameLC(parameter) + " ");
|
||||
out.print("\t * @param " + strategy.getJavaMemberName(parameter) + " ");
|
||||
|
||||
if (procedure.getInParameters().contains(parameter)) {
|
||||
if (procedure.getOutParameters().contains(parameter)) {
|
||||
@ -2081,7 +2085,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.print(strategy.getFullJavaClassName(procedure) + " ");
|
||||
}
|
||||
|
||||
out.print(strategy.getJavaClassNameLC(procedure));
|
||||
out.print(strategy.getJavaMethodName(procedure));
|
||||
out.print("(");
|
||||
|
||||
String glue = "";
|
||||
@ -2100,7 +2104,7 @@ public class DefaultGenerator implements Generator {
|
||||
out.print(glue);
|
||||
printNumberType(out, parameter.getType());
|
||||
out.print(" ");
|
||||
out.print(strategy.getJavaClassNameLC(parameter));
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
|
||||
glue = ", ";
|
||||
}
|
||||
@ -2113,15 +2117,15 @@ public class DefaultGenerator implements Generator {
|
||||
out.println("();");
|
||||
|
||||
for (ParameterDefinition parameter : procedure.getInParameters()) {
|
||||
out.print("\t\tp.set");
|
||||
out.print(strategy.getJavaClassName(parameter));
|
||||
out.print("\t\tp.");
|
||||
out.print(strategy.getJavaSetterName(parameter));
|
||||
out.print("(");
|
||||
|
||||
if (instance && parameter.equals(procedure.getInParameters().get(0))) {
|
||||
out.print("this");
|
||||
}
|
||||
else {
|
||||
out.print(strategy.getJavaClassNameLC(parameter));
|
||||
out.print(strategy.getJavaMemberName(parameter));
|
||||
}
|
||||
|
||||
out.println(");");
|
||||
@ -2141,14 +2145,14 @@ public class DefaultGenerator implements Generator {
|
||||
|
||||
if (procedure.getOutParameters().size() > 0) {
|
||||
if (instance) {
|
||||
out.print("\t\tfrom(p.get");
|
||||
out.print(strategy.getJavaClassName(procedure.getOutParameters().get(0)));
|
||||
out.print("\t\tfrom(p.");
|
||||
out.print(strategy.getJavaGetterName(procedure.getOutParameters().get(0)));
|
||||
out.println("());");
|
||||
}
|
||||
|
||||
if (procedure.getOutParameters().size() == 1) {
|
||||
out.print("\t\treturn p.get");
|
||||
out.print(strategy.getJavaClassName(procedure.getOutParameters().get(0)));
|
||||
out.print("\t\treturn p.");
|
||||
out.print(strategy.getJavaGetterName(procedure.getOutParameters().get(0)));
|
||||
out.println("();");
|
||||
}
|
||||
else if (procedure.getOutParameters().size() > 1) {
|
||||
|
||||
@ -182,6 +182,11 @@ public class DefaultGeneratorStrategy implements GeneratorStrategy {
|
||||
return "get" + disambiguateMethod(definition, getJavaClassName(definition));
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getJavaMethodName(Definition definition) {
|
||||
return disambiguateMethod(definition, getJavaClassName0LC(definition, Mode.DEFAULT));
|
||||
}
|
||||
|
||||
/**
|
||||
* [#182] Method name disambiguation is important to avoid name clashes due
|
||||
* to pre-existing getters / setters in super classes
|
||||
@ -289,14 +294,29 @@ public class DefaultGeneratorStrategy implements GeneratorStrategy {
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
public final String getJavaClassNameLC(Definition definition) {
|
||||
return getJavaClassNameLC(definition, Mode.DEFAULT);
|
||||
return getJavaMemberName(definition, Mode.DEFAULT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getJavaClassNameLC(Definition definition, Mode mode) {
|
||||
String result = getJavaClassName0(definition, mode);
|
||||
@Deprecated
|
||||
public final String getJavaClassNameLC(Definition definition, Mode mode) {
|
||||
return getJavaMemberName(definition, mode);
|
||||
}
|
||||
|
||||
@Override
|
||||
public final String getJavaMemberName(Definition definition) {
|
||||
return getJavaMemberName(definition, Mode.DEFAULT);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getJavaMemberName(Definition definition, Mode mode) {
|
||||
return getJavaClassName0LC(definition, mode);
|
||||
}
|
||||
|
||||
private String getJavaClassName0LC(Definition definition, Mode mode) {
|
||||
String result = getJavaClassName0(definition, mode);
|
||||
return result.substring(0, 1).toLowerCase() + result.substring(1);
|
||||
}
|
||||
|
||||
|
||||
@ -65,6 +65,10 @@ public interface GeneratorStrategy {
|
||||
void setTargetPackage(String packageName);
|
||||
|
||||
/**
|
||||
* This is applied to definitions that can result in singleton static and
|
||||
* instance members. For instance, the singleton instance of a
|
||||
* {@link TableDefinition} is a java identifier
|
||||
*
|
||||
* @return The Java identifier representing this object, e.g. [my_table]
|
||||
*/
|
||||
String getJavaIdentifier(Definition definition);
|
||||
@ -81,17 +85,37 @@ public interface GeneratorStrategy {
|
||||
String getFullJavaIdentifierUC(Definition definition);
|
||||
|
||||
/**
|
||||
* This is applied to definitions that can result in setters of a container.
|
||||
* For example, the definition could be a {@link ColumnDefinition}, the
|
||||
* container a {@link TableDefinition}. Then this would apply to records and
|
||||
* POJOs. Also, the definition could be an {@link AttributeDefinition} and
|
||||
* the container a {@link UDTDefinition}
|
||||
*
|
||||
* @return The Java setter method name representing this object, e.g.
|
||||
* [setMyTable]
|
||||
*/
|
||||
String getJavaSetterName(Definition definition);
|
||||
|
||||
/**
|
||||
* This is applied to definitions that can result in getters of a container.
|
||||
* For example, the definition could be a {@link ColumnDefinition}, the
|
||||
* container a {@link TableDefinition}. Then this would apply to records and
|
||||
* POJOs. Also, the definition could be an {@link AttributeDefinition} and
|
||||
* the container a {@link UDTDefinition}
|
||||
*
|
||||
* @return The Java getter method name representing this object, e.g.
|
||||
* [getMyTable]
|
||||
*/
|
||||
String getJavaGetterName(Definition definition);
|
||||
|
||||
/**
|
||||
* This is applied to definitions that can result in methods. For example,
|
||||
* the definition could be a {@link RoutineDefinition}
|
||||
*
|
||||
* @return The Java method name representing this object, e.g. [myFunction]
|
||||
*/
|
||||
String getJavaMethodName(Definition definition);
|
||||
|
||||
/**
|
||||
* This is the same as calling
|
||||
* <code>getJavaClassName(definition, Mode.DEFAULT)</code>
|
||||
@ -107,14 +131,14 @@ public interface GeneratorStrategy {
|
||||
String getJavaClassName(Definition definition, Mode mode);
|
||||
|
||||
/**
|
||||
* This is the same as calling
|
||||
* <code>getJavaPackageName(definition, Mode.DEFAULT)</code>
|
||||
*
|
||||
* @return The Java package name of this object, e.g. [org.jooq.generated]
|
||||
*/
|
||||
String getJavaPackageName(Definition definition);
|
||||
|
||||
/**
|
||||
* This is the same as calling
|
||||
* <code>getJavaClassName(definition, Mode.DEFAULT)</code>
|
||||
*
|
||||
* @return The Java package name of this object, e.g. [org.jooq.generated]
|
||||
*/
|
||||
String getJavaPackageName(Definition definition, Mode mode);
|
||||
@ -122,17 +146,56 @@ public interface GeneratorStrategy {
|
||||
/**
|
||||
* @return The Java class name representing this object, starting with a
|
||||
* lower case character, e.g. [myTable]
|
||||
* @deprecated - 2.0.5 - Use {@link #getJavaMemberName(Definition)} or
|
||||
* {@link #getJavaMethodName(Definition)} instead. The notion of
|
||||
* this being a class name starting with a lower-case letter is
|
||||
* too intrusive for custom generator strategies.
|
||||
*/
|
||||
@Deprecated
|
||||
String getJavaClassNameLC(Definition definition);
|
||||
|
||||
/**
|
||||
* @return The Java class name representing this object, starting with a
|
||||
* lower case character, e.g. [myTableSuffix]
|
||||
* @deprecated - 2.0.5 - Use {@link #getJavaMemberName(Definition, Mode)} or
|
||||
* {@link #getJavaMethodName(Definition)} instead. The notion of
|
||||
* this being a class name starting with a lower-case letter is
|
||||
* too intrusive for custom generator strategies.
|
||||
*/
|
||||
@Deprecated
|
||||
String getJavaClassNameLC(Definition definition, Mode mode);
|
||||
|
||||
/**
|
||||
* The "java member name" is applied where a definition is used as a member
|
||||
* (for POJOs) or as a method argument (for setters). Example definitions
|
||||
* are
|
||||
* <ul>
|
||||
* <li> {@link ColumnDefinition}</li>
|
||||
* <li> {@link ParameterDefinition}</li>
|
||||
* <li> {@link AttributeDefinition}</li>
|
||||
* </ul>
|
||||
* This is the same as calling
|
||||
* <code>getJavaClassName(definition, Mode.DEFAULT)</code>
|
||||
* <code>getJavaMemberName(definition, Mode.DEFAULT)</code>
|
||||
*
|
||||
* @return The Java class name representing this object, starting with a
|
||||
* lower case character, e.g. [myTable]
|
||||
*/
|
||||
String getJavaMemberName(Definition definition);
|
||||
|
||||
/**
|
||||
* The "java member name" is applied where a definition is used as a member
|
||||
* (for POJOs) or as a method argument (for setters). Example definitions
|
||||
* are
|
||||
* <ul>
|
||||
* <li> {@link ColumnDefinition}</li>
|
||||
* <li> {@link ParameterDefinition}</li>
|
||||
* <li> {@link AttributeDefinition}</li>
|
||||
* </ul>
|
||||
*
|
||||
* @return The Java class name representing this object, starting with a
|
||||
* lower case character, e.g. [myTableSuffix]
|
||||
*/
|
||||
String getJavaClassNameLC(Definition definition, Mode mode);
|
||||
String getJavaMemberName(Definition definition, Mode mode);
|
||||
|
||||
/**
|
||||
* @return The full Java class name representing this object, e.g.
|
||||
@ -142,7 +205,7 @@ public interface GeneratorStrategy {
|
||||
|
||||
/**
|
||||
* This is the same as calling
|
||||
* <code>getJavaClassName(definition, Mode.DEFAULT)</code>
|
||||
* <code>getFullJavaClassName(definition, Mode.DEFAULT)</code>
|
||||
*
|
||||
* @return The full Java class name representing this object, e.g.
|
||||
* [org.jooq.generated.MyTable][suffix]
|
||||
|
||||
Loading…
Reference in New Issue
Block a user