Package com.sun.mirror.apt
Interface AnnotationProcessorFactory
- All Known Subinterfaces:
EclipseAnnotationProcessorFactory
public interface AnnotationProcessorFactory
A factory for creating annotation processors.
Each factory is responsible for creating processors for one or more
annotation types.
The factory is said to support these types.
Each implementation of an AnnotationProcessorFactory
must provide a public no-argument constructor to be used by tools to
instantiate the factory.
- Since:
- 1.5
- Version:
- 1.9 04/07/13
- Author:
- Joseph D. Darcy, Scott Seligman
-
Method Summary
Modifier and TypeMethodDescriptionReturns an annotation processor for a set of annotation types.Returns the names of the annotation types supported by this factory.Returns the options recognized by this factory or by any of the processors it may create.
-
Method Details
-
supportedOptions
Collection<String> supportedOptions()Returns the options recognized by this factory or by any of the processors it may create. Only processor-specific options are included, each of which begins with"-A"
. For example, if this factory recognizes options such as-Adebug -Aloglevel=3
, it will return the strings"-Adebug"
and"-Aloglevel"
.A tool might use this information to determine if any options provided by a user are unrecognized by any processor, in which case it may wish to report an error.
- Returns:
- the options recognized by this factory or by any of the processors it may create, or an empty collection if none
-
supportedAnnotationTypes
Collection<String> supportedAnnotationTypes()Returns the names of the annotation types supported by this factory. An element of the result may be the canonical (fully qualified) name of a supported annotation type. Alternately it may be of the form"name.*"
representing the set of all annotation types with canonical names beginning with"name."
Finally,"*"
by itself represents the set of all annotation types.- Returns:
- the names of the annotation types supported by this factory
-
getProcessorFor
AnnotationProcessor getProcessorFor(Set<AnnotationTypeDeclaration> atds, AnnotationProcessorEnvironment env) Returns an annotation processor for a set of annotation types. The set will be empty if the factory supports "*
" and the specified type declarations have no annotations. Note that the set of annotation types may be empty for other reasons, such as giving the factory an opportunity to register a listener. AnAnnotationProcessorFactory
must gracefully handle an empty set of annotations; an appropriate response to an empty set will often be returningAnnotationProcessors.NO_OP
.- Parameters:
atds
- type declarations of the annotation types to be processedenv
- environment to use during processing- Returns:
- an annotation processor for the given annotation types,
or
null
if the types are not supported or the processor cannot be created
-