# Package javax.annotation.processing

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

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  Completion | A suggested completion for an annotation.
  Filer | This interface supports the creation of new files by an annotation processor.
  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.

- Class Summary
  Class | Description
  --- | ---
  AbstractProcessor | An abstract annotation processor designed to be a convenient superclass for most concrete annotation processors.
  Completions | Utility class for assembling `Completion` objects.

- Exception Summary
  Exception | Description
  --- | ---
  FilerException | Indicates a `Filer` detected an attempt to open a file that would violate the guarantees provided by the `Filer`.

- Annotation Types Summary
  Annotation Type | Description
  --- | ---
  SupportedAnnotationTypes | An annotation used to indicate what annotation types 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.

## Package javax.annotation.processing Description

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

Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.