Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit c32ae0d

Browse files
committed
Add MethodParameter accessor to AotQueryMethodGenerationContext.
Closes #3334
1 parent c21409c commit c32ae0d

File tree

2 files changed

+19
-0
lines changed

2 files changed

+19
-0
lines changed

‎src/main/java/org/springframework/data/repository/aot/generate/AotQueryMethodGenerationContext.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import java.util.List;
2222

2323
import org.jspecify.annotations.Nullable;
24+
25+
import org.springframework.core.MethodParameter;
2426
import org.springframework.core.ResolvableType;
2527
import org.springframework.core.annotation.MergedAnnotation;
2628
import org.springframework.core.annotation.MergedAnnotationSelectors;
@@ -65,6 +67,17 @@ MethodMetadata getTargetMethodMetadata() {
6567
return targetMethodMetadata;
6668
}
6769

70+
/**
71+
* Lookup the {@link MethodParameter} by its {@link MethodParameter#getParameterName()}.
72+
*
73+
* @param name the name of the parameter to look up.
74+
* @return the found method parameter or {@literal null} if no parameter with the given name exists.
75+
*/
76+
@Nullable
77+
public MethodParameter getMethodParameter(String name) {
78+
return getTargetMethodMetadata().getMethodParameters().get(name);
79+
}
80+
6881
public RepositoryInformation getRepositoryInformation() {
6982
return repositoryInformation;
7083
}

‎src/main/java/org/springframework/data/repository/aot/generate/MethodMetadata.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
class MethodMetadata {
4242

4343
private final Map<String, ParameterSpec> methodArguments = new LinkedHashMap<>();
44+
private final Map<String, MethodParameter> methodParameters = new LinkedHashMap<>();
4445
private final Map<String, String> localVariables = new LinkedHashMap<>();
4546
private final ResolvableType actualReturnType;
4647
private final ResolvableType returnType;
@@ -66,6 +67,7 @@ private void initParameters(RepositoryInformation repositoryInformation, Method
6667
TypeName parameterType = TypeName.get(resolvableParameterType.getType());
6768

6869
addParameter(ParameterSpec.builder(parameterType, methodParameter.getParameterName()).build());
70+
methodParameters.put(methodParameter.getParameterName(), methodParameter);
6971
}
7072
}
7173

@@ -85,6 +87,10 @@ Map<String, ParameterSpec> getMethodArguments() {
8587
return methodArguments;
8688
}
8789

90+
Map<String, MethodParameter> getMethodParameters() {
91+
return methodParameters;
92+
}
93+
8894
@Nullable
8995
String getParameterName(int position) {
9096

0 commit comments

Comments
(0)

AltStyle によって変換されたページ (->オリジナル) /