Skip to content

Commit ced222b

Browse files
Decouple AOT processing.
1 parent 80af39a commit ced222b

14 files changed

+664
-233
lines changed

src/main/java/org/springframework/data/repository/aot/generate/AotRepositoryConstructorBuilder.java

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,9 @@
1515
*/
1616
package org.springframework.data.repository.aot.generate;
1717

18+
import org.springframework.core.ResolvableType;
19+
import org.springframework.javapoet.CodeBlock;
1820
import 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

Comments
 (0)