1515 */
1616package org .springframework .data .repository .aot .generate ;
1717
18+ import org .springframework .core .ResolvableType ;
19+ import org .springframework .javapoet .CodeBlock ;
1820import org .springframework .javapoet .MethodSpec ;
19- import org .springframework .javapoet .TypeName ;
2021
2122/**
2223 * Builder for AOT Repository Constructors.
@@ -41,7 +42,7 @@ public interface AotRepositoryConstructorBuilder {
4142 * @param parameterName name of the parameter.
4243 * @param type parameter type.
4344 */
44- default void addParameter (String parameterName , TypeName type ) {
45+ default void addParameter (String parameterName , ResolvableType type ) {
4546 addParameter (parameterName , type , true );
4647 }
4748
@@ -52,7 +53,18 @@ default void addParameter(String parameterName, TypeName type) {
5253 * @param type parameter type.
5354 * @param createField whether to create a field for the parameter and assign its value to the field.
5455 */
55- void addParameter (String parameterName , TypeName type , boolean createField );
56+ default void addParameter (String parameterName , Class <?> type , boolean createField ) {
57+ addParameter (parameterName , ResolvableType .forClass (type ), createField );
58+ }
59+
60+ /**
61+ * Add constructor parameter.
62+ *
63+ * @param parameterName name of the parameter.
64+ * @param type parameter type.
65+ * @param createField whether to create a field for the parameter and assign its value to the field.
66+ */
67+ void addParameter (String parameterName , ResolvableType type , boolean createField );
5668
5769 /**
5870 * Add constructor customizer. Customizer is invoked after adding constructor arguments and before assigning
@@ -72,7 +84,7 @@ interface ConstructorCustomizer {
7284 *
7385 * @param builder the constructor builder to be customized.
7486 */
75- void customize (MethodSpec .Builder builder );
87+ void customize (CodeBlock .Builder builder );
7688
7789 }
7890
0 commit comments