15
15
*/
16
16
package org .springframework .data .repository .aot .generate ;
17
17
18
+ import org .springframework .core .ResolvableType ;
19
+ import org .springframework .javapoet .CodeBlock ;
18
20
import org .springframework .javapoet .MethodSpec ;
19
- import org .springframework .javapoet .TypeName ;
20
21
21
22
/**
22
23
* Builder for AOT Repository Constructors.
@@ -41,7 +42,7 @@ public interface AotRepositoryConstructorBuilder {
41
42
* @param parameterName name of the parameter.
42
43
* @param type parameter type.
43
44
*/
44
- default void addParameter (String parameterName , TypeName type ) {
45
+ default void addParameter (String parameterName , ResolvableType type ) {
45
46
addParameter (parameterName , type , true );
46
47
}
47
48
@@ -52,7 +53,18 @@ default void addParameter(String parameterName, TypeName type) {
52
53
* @param type parameter type.
53
54
* @param createField whether to create a field for the parameter and assign its value to the field.
54
55
*/
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 );
56
68
57
69
/**
58
70
* Add constructor customizer. Customizer is invoked after adding constructor arguments and before assigning
@@ -72,7 +84,7 @@ interface ConstructorCustomizer {
72
84
*
73
85
* @param builder the constructor builder to be customized.
74
86
*/
75
- void customize (MethodSpec .Builder builder );
87
+ void customize (CodeBlock .Builder builder );
76
88
77
89
}
78
90
0 commit comments