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 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

      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. An AnnotationProcessorFactory must gracefully handle an empty set of annotations; an appropriate response to an empty set will often be returning AnnotationProcessors.NO_OP.
      Parameters:
      atds - type declarations of the annotation types to be processed
      env - 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