Interface AnnotationProcessorEnvironment

All Known Subinterfaces:
EclipseAnnotationProcessorEnvironment

public interface AnnotationProcessorEnvironment
The environment encapsulating the state needed by an annotation processor. An annotation processing tool makes this environment available to all annotation processors.

When an annotation processing tool is invoked, it is given a set of type declarations on which to operate. These are referred to as the specified types. The type declarations said to be included in this invocation consist of the specified types and any types nested within them.

DeclarationFilter provides a simple way to select just the items of interest when a method returns a collection of declarations.

Since:
1.5
Version:
1.7 04/07/19
Author:
Joseph D. Darcy, Scott Seligman
  • Method Details

    • getOptions

      Map<String,String> getOptions()
      Returns the options passed to the annotation processing tool. Options are returned in the form of a map from option name (such as "-encoding") to option value. For an option with no value (such as "-help"), the corresponding value in the map is null.

      Options beginning with "-A" are processor-specific. Such options are unrecognized by the tool, but intended to be used by some annotation processor.

      Returns:
      the options passed to the tool
    • getMessager

      Messager getMessager()
      Returns the messager used to report errors, warnings, and other notices.
      Returns:
      the messager
    • getFiler

      Filer getFiler()
      Returns the filer used to create new source, class, or auxiliary files.
      Returns:
      the filer
    • getSpecifiedTypeDeclarations

      Collection<TypeDeclaration> getSpecifiedTypeDeclarations()
      Returns the declarations of the types specified when the annotation processing tool was invoked.
      Returns:
      the types specified when the tool was invoked, or an empty collection if there were none
    • getPackage

      PackageDeclaration getPackage(String name)
      Returns the declaration of a package given its fully qualified name.
      Parameters:
      name - fully qualified package name, or "" for the unnamed package
      Returns:
      the declaration of the named package, or null if it cannot be found
    • getTypeDeclaration

      TypeDeclaration getTypeDeclaration(String name)
      Returns the declaration of a type given its fully qualified name.
      Parameters:
      name - fully qualified type name
      Returns:
      the declaration of the named type, or null if it cannot be found
    • getTypeDeclarations

      Collection<TypeDeclaration> getTypeDeclarations()
      A convenience method that returns the declarations of the types included in this invocation of the annotation processing tool.
      Returns:
      the declarations of the types included in this invocation of the tool, or an empty collection if there are none
    • getDeclarationsAnnotatedWith

      Collection<Declaration> getDeclarationsAnnotatedWith(AnnotationTypeDeclaration a)
      Returns the declarations annotated with the given annotation type. Only declarations of the types included in this invocation of the annotation processing tool, or declarations of members, parameters, or type parameters declared within those, are returned.
      Parameters:
      a - annotation type being requested
      Returns:
      the declarations annotated with the given annotation type, or an empty collection if there are none
    • getDeclarationUtils

      Declarations getDeclarationUtils()
      Returns an implementation of some utility methods for operating on declarations.
      Returns:
      declaration utilities
    • getTypeUtils

      Types getTypeUtils()
      Returns an implementation of some utility methods for operating on types.
      Returns:
      type utilities
    • addListener

      void addListener(AnnotationProcessorListener listener)
      Add a listener. If the listener is currently registered to listen, adding it again will have no effect.
      Parameters:
      listener - The listener to add.
      Throws:
      NullPointerException - if the listener is null
    • removeListener

      void removeListener(AnnotationProcessorListener listener)
      Remove a listener. If the listener is not currently listening, the method call does nothing.
      Parameters:
      listener - The listener to remove.
      Throws:
      NullPointerException - if the listener is null