Interface RoundEnvironment
- Since:
- 1.6
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returnstrue
if an error was raised in the prior round of processing; returnsfalse
otherwise.getElementsAnnotatedWith
(Class<? extends Annotation> a) Returns the elements annotated with the given annotation interface.Returns the elements annotated with the given annotation interface.getElementsAnnotatedWithAny
(Set<Class<? extends Annotation>> annotations) Returns the elements annotated with one or more of the given annotation interfaces.getElementsAnnotatedWithAny
(TypeElement... annotations) Returns the elements annotated with one or more of the given annotation interfaces.Returns the root elements for annotation processing generated by the prior round.boolean
Returnstrue
if types generated by this round will not be subject to a subsequent round of annotation processing; returnsfalse
otherwise.
-
Method Details
-
processingOver
boolean processingOver()Returnstrue
if types generated by this round will not be subject to a subsequent round of annotation processing; returnsfalse
otherwise.- Returns:
true
if types generated by this round will not be subject to a subsequent round of annotation processing; returnsfalse
otherwise
-
errorRaised
boolean errorRaised()Returnstrue
if an error was raised in the prior round of processing; returnsfalse
otherwise.- Returns:
true
if an error was raised in the prior round of processing; returnsfalse
otherwise
-
getRootElements
Returns the root elements for annotation processing generated by the prior round. -
getElementsAnnotatedWith
Returns the elements annotated with the given annotation interface. The annotation may appear directly or be inherited. Only package elements, module elements, and type elements included in this round of annotation processing, or declarations of members, constructors, parameters, type parameters, or record components declared within those, are returned. Included type elements are root types and any member types nested within them. Elements of a package are not considered included simply because apackage-info
file for that package was created. Likewise, elements of a module are not considered included simply because amodule-info
file for that module was created.- Parameters:
a
- annotation interface being requested- Returns:
- the elements annotated with the given annotation interface, or an empty set if there are none
- Throws:
IllegalArgumentException
- if the argument does not represent an annotation interface
-
getElementsAnnotatedWithAny
Returns the elements annotated with one or more of the given annotation interfaces.- API Note:
- This method may be useful when processing repeating annotations by looking for an annotation interface and its containing annotation interface at the same time.
- Implementation Requirements:
- The default implementation of this method creates an
empty result set, iterates over the annotations in the argument
array calling
getElementsAnnotatedWith(TypeElement)
on each annotation and adding those results to the result set. Finally, the contents of the result set are returned as an unmodifiable set. - Parameters:
annotations
- annotation interfaces being requested- Returns:
- the elements annotated with one or more of the given annotation interfaces, or an empty set if there are none
- Throws:
IllegalArgumentException
- if the any elements of the argument set do not represent an annotation interface- See Java Language Specification:
-
9.6.3 Repeatable Annotation Interfaces
- Since:
- 9
-
getElementsAnnotatedWith
Returns the elements annotated with the given annotation interface. The annotation may appear directly or be inherited. Only package elements, module elements, and type elements included in this round of annotation processing, or declarations of members, constructors, parameters, type parameters, or record components 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 apackage-info
file for that package was created. Likewise, elements of a module are not considered included simply because amodule-info
file for that module was created.Note: An implementation of this method typically performs an internal conversion from the runtime reflective representation of an annotation interface as a
Class
object to a different representation used for annotation processing. The set of annotation interfaces present in the runtime context may differ from the set of annotation interfaces present in the context of annotation processing in a particular environmental configuration. If a runtime annotation interface is not present in the annotation processing context, the situation is not treated as an error and no elements are found for that annotation interface.- Parameters:
a
- annotation interface being requested- Returns:
- the elements annotated with the given annotation interface, or an empty set if there are none
- Throws:
IllegalArgumentException
- if the argument does not represent an annotation interface- See Also:
-
getElementsAnnotatedWithAny
default Set<? extends Element> getElementsAnnotatedWithAny(Set<Class<? extends Annotation>> annotations) Returns the elements annotated with one or more of the given annotation interfaces.Note: An implementation of this method typically performs an internal conversion from the runtime reflective representation of an annotation interface as a
Class
object to a different representation used for annotation processing. The set of annotation interfaces present in the runtime context may differ from the set of annotation interfaces present in the context of annotation processing in a particular environmental configuration. If a runtime annotation interface is not present in the annotation processing context, the situation is not treated as an error and no elements are found for that annotation interface.- API Note:
- This method may be useful when processing repeating annotations by looking for an annotation interface and its containing annotation interface at the same time.
- Implementation Requirements:
- The default implementation of this method creates an
empty result set, iterates over the annotations in the argument
set calling
getElementsAnnotatedWith(Class)
on each annotation and adding those results to the result set. Finally, the contents of the result set are returned as an unmodifiable set. - Parameters:
annotations
- annotation interfaces being requested- Returns:
- the elements annotated with one or more of the given annotation interfaces, or an empty set if there are none
- Throws:
IllegalArgumentException
- if the any elements of the argument set do not represent an annotation interface- See Java Language Specification:
-
9.6.3 Repeatable Annotation Interfaces
- Since:
- 9
- See Also:
-