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
getAnnotationType
Class<? extends 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
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.
Copyright © 2012 GlassFish Community. All Rights Reserved.