Class SynthesizingMethodParameter
- java.lang.Object
- org.springframework.core.MethodParameter
- org.springframework.core.annotation.SynthesizingMethodParameter
- Direct Known Subclasses:
HandlerMethod.HandlerMethodParameter,HandlerMethod.HandlerMethodParameter
public class SynthesizingMethodParameter extends MethodParameter
AMethodParametervariant which synthesizes annotations that declare attribute aliases via@AliasFor.- Since:
- 4.2
- Author:
- Juergen Hoeller, Sam Brannen
- See Also:
AnnotationUtils.synthesizeAnnotation(A),AnnotationUtils.synthesizeAnnotationArray(java.lang.annotation.Annotation[], java.lang.Object)
Constructor Summary
Constructors Modifier Constructor Description SynthesizingMethodParameter(Constructor<?> constructor, int parameterIndex)Create a newSynthesizingMethodParameterfor the given constructor, with nesting level 1.SynthesizingMethodParameter(Constructor<?> constructor, int parameterIndex, int nestingLevel)Create a newSynthesizingMethodParameterfor the given constructor.SynthesizingMethodParameter(Method method, int parameterIndex)Create a newSynthesizingMethodParameterfor the given method, with nesting level 1.SynthesizingMethodParameter(Method method, int parameterIndex, int nestingLevel)Create a newSynthesizingMethodParameterfor the given method.protectedSynthesizingMethodParameter(SynthesizingMethodParameter original)Copy constructor, resulting in an independentSynthesizingMethodParameterbased on the same metadata and cache state that the original object was in.
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected <A extends Annotation>
AadaptAnnotation(A annotation)A template method to post-process a given annotation instance before returning it to the caller.protected Annotation[]adaptAnnotationArray(Annotation[] annotations)A template method to post-process a given annotation array before returning it to the caller.SynthesizingMethodParameterclone()Methods inherited from class org.springframework.core.MethodParameter
decreaseNestingLevel, equals, forMethodOrConstructor, getAnnotatedElement, getConstructor, getContainingClass, getDeclaringClass, getGenericParameterType, getMember, getMethod, getMethodAnnotation, getMethodAnnotations, getNestedGenericParameterType, getNestedParameterType, getNestingLevel, getParameterAnnotation, getParameterAnnotations, getParameterIndex, getParameterName, getParameterType, getTypeIndexForCurrentLevel, getTypeIndexForLevel, hashCode, hasMethodAnnotation, hasParameterAnnotation, hasParameterAnnotations, increaseNestingLevel, initParameterNameDiscovery, isOptional, nested, nestedIfOptional, setTypeIndexForCurrentLevel, toString
Constructor Detail
SynthesizingMethodParameter
public SynthesizingMethodParameter(Method method, int parameterIndex)
Create a newSynthesizingMethodParameterfor the given method, with nesting level 1.- Parameters:
method- the Method to specify a parameter forparameterIndex- the index of the parameter: -1 for the method return type; 0 for the first method parameter; 1 for the second method parameter, etc.
SynthesizingMethodParameter
public SynthesizingMethodParameter(Method method, int parameterIndex, int nestingLevel)
Create a newSynthesizingMethodParameterfor the given method.- Parameters:
method- the Method to specify a parameter forparameterIndex- the index of the parameter: -1 for the method return type; 0 for the first method parameter; 1 for the second method parameter, etc.nestingLevel- the nesting level of the target type (typically 1; e.g. in case of a List of Lists, 1 would indicate the nested List, whereas 2 would indicate the element of the nested List)
SynthesizingMethodParameter
public SynthesizingMethodParameter(Constructor<?> constructor, int parameterIndex)
Create a newSynthesizingMethodParameterfor the given constructor, with nesting level 1.- Parameters:
constructor- the Constructor to specify a parameter forparameterIndex- the index of the parameter
SynthesizingMethodParameter
public SynthesizingMethodParameter(Constructor<?> constructor, int parameterIndex, int nestingLevel)
Create a newSynthesizingMethodParameterfor the given constructor.- Parameters:
constructor- the Constructor to specify a parameter forparameterIndex- the index of the parameternestingLevel- the nesting level of the target type (typically 1; e.g. in case of a List of Lists, 1 would indicate the nested List, whereas 2 would indicate the element of the nested List)
SynthesizingMethodParameter
protected SynthesizingMethodParameter(SynthesizingMethodParameter original)
Copy constructor, resulting in an independentSynthesizingMethodParameterbased on the same metadata and cache state that the original object was in.- Parameters:
original- the original SynthesizingMethodParameter object to copy from
Method Detail
adaptAnnotation
protected <A extends Annotation> A adaptAnnotation(A annotation)
Description copied from class:MethodParameterA template method to post-process a given annotation instance before returning it to the caller.The default implementation simply returns the given annotation as-is.
- Overrides:
adaptAnnotationin classMethodParameter- Parameters:
annotation- the annotation about to be returned- Returns:
- the post-processed annotation (or simply the original one)
adaptAnnotationArray
protected Annotation[] adaptAnnotationArray(Annotation[] annotations)
Description copied from class:MethodParameterA template method to post-process a given annotation array before returning it to the caller.The default implementation simply returns the given annotation array as-is.
- Overrides:
adaptAnnotationArrayin classMethodParameter- Parameters:
annotations- the annotation array about to be returned- Returns:
- the post-processed annotation array (or simply the original one)
clone
public SynthesizingMethodParameter clone()
- Overrides:
clonein classMethodParameter