RoundEnvironment (Java Platform SE 8 )
Keywords: javax.annotation.processing.RoundEnvironment interface
Date: 2026-04-17

compact3
javax.annotation.processing

## Interface RoundEnvironment

-     public interface 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.
  Since:
    1.6

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `errorRaised()` Returns `true` if an error was raised in the prior round of processing; returns `false` otherwise.
    `Set<? extends Element>` | `getElementsAnnotatedWith(Class<? extends Annotation> a)` Returns the elements annotated with the given annotation type.
    `Set<? extends Element>` | `getElementsAnnotatedWith(TypeElement a)` Returns the elements annotated with the given annotation type.
    `Set<? extends Element>` | `getRootElements()` Returns the root elements for annotation processing generated by the prior round.
    `boolean` | `processingOver()` Returns `true` if types generated by this round will not be subject to a subsequent round of annotation processing; returns `false` otherwise.

- - ### Method Detail

    - #### processingOver

          boolean processingOver()

      Returns `true` if types generated by this round will not be subject to a subsequent round of annotation processing; returns `false` otherwise.
      Returns:
        `true` if types generated by this round will not be subject to a subsequent round of annotation processing; returns `false` otherwise

    - #### errorRaised

          boolean errorRaised()

      Returns `true` if an error was raised in the prior round of processing; returns `false` otherwise.
      Returns:
        `true` if an error was raised in the prior round of processing; returns `false` otherwise

    - #### getRootElements

          Set<? extends Element> getRootElements()

      Returns the root elements for annotation processing generated by the prior round.
      Returns:
        the root elements for annotation processing generated by the prior round, or an empty set if there were none

    - #### getElementsAnnotatedWith

          Set<? extends Element> getElementsAnnotatedWith(TypeElement a)

      Returns the elements annotated with the given annotation type. The annotation may appear directly or be inherited. Only package elements and type elements included in this round of annotation processing, or declarations of members, constructors, parameters, or type parameters declared within those, are returned. Included type elements are root types and any member types nested within them. Elements in a package are not considered included simply because a `package-info` file for that package was created.
      Parameters:
        `a` - annotation type being requested
      Returns:
        the elements annotated with the given annotation type, or an empty set if there are none
      Throws:
        `IllegalArgumentException` - if the argument does not represent an annotation type

    - #### getElementsAnnotatedWith

          Set<? extends Element> getElementsAnnotatedWith(Class<? extends Annotation> a)

      Returns the elements annotated with the given annotation type. The annotation may appear directly or be inherited. Only package elements and type elements included in this round of annotation processing, or declarations of members, constructors, parameters, or type parameters declared within those, are returned. Included type elements are root types and any member types nested within them. Elements in a package are not considered included simply because a `package-info` file for that package was created.
      Parameters:
        `a` - annotation type being requested
      Returns:
        the elements annotated with the given annotation type, or an empty set if there are none
      Throws:
        `IllegalArgumentException` - if the argument does not represent an annotation type

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, 2026, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.