# Package javax.annotation.processing

package javax.annotation.processing
Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.

Unless otherwise specified in a particular implementation, the collections returned by methods in this package should be expected to be unmodifiable by the caller and unsafe for concurrent access.

Unless otherwise specified, methods in this package will throw a `NullPointerException` if given a `null` argument.

Since:
  1.6
See Also:
  - JSR 269: Pluggable Annotation Processing API

- Class
  Description
  AbstractProcessor
  An abstract annotation processor designed to be a convenient superclass for most concrete annotation processors.
  Completion
  A suggested completion for an annotation.
  Completions
  Utility class for assembling `Completion` objects.
  Filer
  This interface supports the creation of new files by an annotation processor.
  FilerException
  Indicates a `Filer` detected an attempt to open a file that would violate the guarantees provided by the `Filer`.
  Generated
  The Generated annotation is used to mark source code that has been generated.
  Messager
  A `Messager` provides the way for an annotation processor to report error messages, warnings, and other notices.
  ProcessingEnvironment
  An annotation processing tool framework will provide an annotation processor with an object implementing this interface so the processor can use facilities provided by the framework to write new files, report error messages, and find other utilities.
  Processor
  The interface for an annotation processor.
  RoundEnvironment
  An annotation processing tool framework will provide an annotation processor with an object implementing this interface so that the processor can query for information about a round of annotation processing.
  SupportedAnnotationTypes
  An annotation used to indicate what annotation interfaces an annotation processor supports.
  SupportedOptions
  An annotation used to indicate what options an annotation processor supports.
  SupportedSourceVersion
  An annotation used to indicate the latest source version an annotation processor supports.