Interface ExecutableMethodProcessor<A extends Annotation>

Type Parameters:
A - The annotation type, which should be a stereotype of Executable
All Superinterfaces:
AnnotationProcessor<A,ExecutableMethod<?,?>>
All Known Implementing Classes:
AnnotatedFunctionRouteBuilder, AnnotatedMethodRouteBuilder, DefaultLocalFunctionRegistry, DeleteEndpointRouteBuilder, EndpointSensitivityProcessor, ReadEndpointRouteBuilder, ScheduledMethodProcessor, ServerWebSocketProcessor, WriteEndpointRouteBuilder

public interface ExecutableMethodProcessor<A extends Annotation> extends AnnotationProcessor<A,ExecutableMethod<?,?>>

A class capable of processing an ExecutableMethod instances.

The use case here is framework components that need to react to the presence of an annotation. For example given the following annotation:

 @Executable
 @Retention(RUNTIME)
 @Target(ElementType.METHOD)
 public @interface Scheduled {
 String cron()
 }
 

One could write a ExecutableMethodProcessor that processed all methods annotated with @Scheduled:

 
 public class MyProcessor implements ExecutableMethodProcessor<Scheduled> {
 }
 
Since:
1.0
Author:
Graeme Rocher
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    process(BeanDefinition<?> beanDefinition, ExecutableMethod<?,?> method)
    The process method will be called for every ExecutableMethod that is annotated with the type parameter A.