Class MessagingAnnotationUtils
java.lang.Object
org.springframework.integration.util.MessagingAnnotationUtils
Utility methods to support annotation processing.
- Since:
- 4.0
- Author:
- Gary Russell, Dave Syer, Gunnar Hillert, Soby Chacko, Artem Bilan, Chris Bono, Ngoc Nhan
-
Method Summary
Modifier and TypeMethodDescriptionstatic String
endpointIdValue
(Method method) Return theEndpointId.value()
property, if present.static String
endpointIdValue
(MergedAnnotations mergedAnnotations) Return theEndpointId.value()
property, if present.static Method
findAnnotatedMethod
(Object target, Class<? extends Annotation> annotationType) static Annotation
findMessagePartAnnotation
(Annotation[] annotations, boolean payloads) static List<Annotation>
getAnnotationChain
(Annotation messagingAnnotation, Class<? extends Annotation> annotationType) Get a chain of its meta-annotations for the provided instance and expected type.static boolean
Determine if the value of a named attribute from an annotation instance contains an actual value.static <T> T
resolveAttribute
(List<Annotation> annotations, String name, Class<T> requiredType) Get the attribute value from the annotation hierarchy, returning the firstnon-empty
) value closest to the annotated method.
-
Method Details
-
resolveAttribute
public static <T> T resolveAttribute(List<Annotation> annotations, String name, Class<T> requiredType) Get the attribute value from the annotation hierarchy, returning the firstnon-empty
) value closest to the annotated method.- Type Parameters:
T
- The type.- Parameters:
annotations
- The meta-annotations in order (closest first).name
- The attribute name.requiredType
- The expected type.- Returns:
- The value.
-
hasValue
Determine if the value of a named attribute from an annotation instance contains an actual value.- Parameters:
annotationValue
- the value of the annotation attribute- Returns:
false
whenannotationValue
is null, an empty string, an empty array, or any annotation whose 'value' field is set toValueConstants.DEFAULT_NONE
-true
otherwise
-
findAnnotatedMethod
-
findMessagePartAnnotation
Find the one ofPayload
,Header
orHeaders
annotation from the providedannotations
array. Optionally also detectsPayloads
.- Parameters:
annotations
- the annotations to scan.payloads
- true if @Payloads should be detected.- Returns:
- the matched annotation or
null
. - Throws:
MessagingException
- if more than one ofPayload
,Header
orHeaders
annotations are presented.
-
endpointIdValue
Return theEndpointId.value()
property, if present.- Parameters:
method
- the methods.- Returns:
- the id, or null.
- Since:
- 5.0.4
-
endpointIdValue
Return theEndpointId.value()
property, if present.- Parameters:
mergedAnnotations
- theMergedAnnotations
to analyze.- Returns:
- the id, or null.
- Since:
- 6.0
-
getAnnotationChain
public static List<Annotation> getAnnotationChain(Annotation messagingAnnotation, Class<? extends Annotation> annotationType) Get a chain of its meta-annotations for the provided instance and expected type.- Parameters:
messagingAnnotation
- theAnnotation
to take a chain for its meta-annotations.annotationType
- the annotation type.- Returns:
- the hierarchical list of annotations in top-bottom order.
- Since:
- 6.0
-