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
    • Method Detail

      • 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