org.glassfish.apf
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.

Author:
Jerome Dochez

Method Summary
 java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationType()
           
 java.lang.Class<? extends java.lang.annotation.Annotation>[] getTypeDependencies()
           
 HandlerProcessingResult processAnnotation(AnnotationInfo element)
          Process a particular annotation which type is the same as the one returned by @see getAnnotationType().
 

Method Detail

getAnnotationType

java.lang.Class<? extends java.lang.annotation.Annotation> getAnnotationType()
Returns:
the annoation type this annotation handler is handling

processAnnotation

HandlerProcessingResult processAnnotation(AnnotationInfo element)
                                          throws AnnotationProcessorException
Process a particular annotation which type is the same as the one returned by @see getAnnotationType(). All information pertinent to the annotation and its context is encapsulated in the passed AnnotationInfo instance.

Parameters:
element - the annotation information
Throws:
AnnotationProcessorException

getTypeDependencies

java.lang.Class<? extends java.lang.annotation.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.


Copyright © 2012 GlassFish Community. All Rights Reserved.