Interface AnnotationHandler


  • @Contract
    public interface AnnotationHandler
    This interface defines the contract for annotation handlers and the annotation processing engine. Each annotation handler is registered for a particular annotation type and will be called by the engine when such annotation type is encountered. The AnnotationHandler is a stateless object, no state should be stored, instead users should use the ProcessingContext. Annotation can be defined or processed in random orders on a particular type, however, a particular annotation may need other annotation to be processed before itself in order to be processed successfully. An annotation type can indicate through the @see getAnnotations() method which annotation types should be processed before itself. Each implementation of this interface must specify the annotation that it can handle using AnnotationHandlerFor annotation.
    Author:
    Jerome Dochez
    • Method Detail

      • getAnnotationType

        Class<? extends Annotation> getAnnotationType()
        Returns:
        the annotation type this annotation handler is handling
      • getTypeDependencies

        Class<? extends Annotation>[] getTypeDependencies()
        Returns:
        an array of annotation types this annotation handler would require to be processed (if present) before it processes it's own annotation type.