Package org.springframework.data.util
Class AnnotationDetectionMethodCallback<A extends Annotation>
java.lang.Object
org.springframework.data.util.AnnotationDetectionMethodCallback<A>
- All Implemented Interfaces:
ReflectionUtils.MethodCallback
public class AnnotationDetectionMethodCallback<A extends Annotation>
extends Object
implements ReflectionUtils.MethodCallback
ReflectionUtils.MethodCallback
to find annotations of a given type.- Author:
- Oliver Gierke, Christoph Strobl, Mark Paluch
-
Constructor Summary
ConstructorDescriptionAnnotationDetectionMethodCallback
(Class<A> annotationType) Creates a newAnnotationDetectionMethodCallback
for the given annotation type.AnnotationDetectionMethodCallback
(Class<A> annotationType, boolean enforceUniqueness) Creates a newAnnotationDetectionMethodCallback
for the given annotation type. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Returns the method with the configured annotation.boolean
Returns whether an annotation was found.<T> T
Invokes the method using reflection.
-
Constructor Details
-
AnnotationDetectionMethodCallback
Creates a newAnnotationDetectionMethodCallback
for the given annotation type.- Parameters:
annotationType
- must not be null.
-
AnnotationDetectionMethodCallback
Creates a newAnnotationDetectionMethodCallback
for the given annotation type.- Parameters:
annotationType
- must not be null.enforceUniqueness
- whether to fail if multiple methods with the annotation are found.
-
-
Method Details
-
getMethod
- Returns:
- the method
-
getRequiredMethod
Returns the method with the configured annotation.- Returns:
- Throws:
IllegalStateException
- in case no method with the configured annotation was found.
-
getAnnotation
- Returns:
- the annotation
-
hasFoundAnnotation
public boolean hasFoundAnnotation()Returns whether an annotation was found.- Returns:
-
doWith
- Specified by:
doWith
in interfaceReflectionUtils.MethodCallback
- Throws:
IllegalArgumentException
IllegalAccessException
-
invoke
Invokes the method using reflection.- Parameters:
target
- can be null for static method invocations.args
- method arguments.- Returns:
- Since:
- 2.7
-