public interface Elements
Compatibility Note: Methods may be added to this interface in future releases of the platform.
ProcessingEnvironment.getElementUtils()| Modifier and Type | Method and Description | 
|---|---|
| List<? extends AnnotationMirror> | getAllAnnotationMirrors(Element e)Returns all annotations present on an element, whether
 directly present or present via inheritance. | 
| List<? extends Element> | getAllMembers(TypeElement type)Returns all members of a type element, whether inherited or
 declared directly. | 
| Name | getBinaryName(TypeElement type)Returns the binary name of a type element. | 
| String | getConstantExpression(Object value)Returns the text of a constant expression representing a
 primitive value or a string. | 
| String | getDocComment(Element e)Returns the text of the documentation ("Javadoc")
 comment of an element. | 
| Map<? extends ExecutableElement,? extends AnnotationValue> | getElementValuesWithDefaults(AnnotationMirror a)Returns the values of an annotation's elements, including defaults. | 
| Name | getName(CharSequence cs)Return a name with the same sequence of characters as the
 argument. | 
| PackageElement | getPackageElement(CharSequence name)Returns a package given its fully qualified name. | 
| PackageElement | getPackageOf(Element type)Returns the package of an element. | 
| TypeElement | getTypeElement(CharSequence name)Returns a type element given its canonical name. | 
| boolean | hides(Element hider,
     Element hidden)Tests whether one type, method, or field hides another. | 
| boolean | isDeprecated(Element e)Returns  trueif the element is deprecated,falseotherwise. | 
| boolean | isFunctionalInterface(TypeElement type)Returns  trueif the type element is a functional interface,falseotherwise. | 
| boolean | overrides(ExecutableElement overrider,
         ExecutableElement overridden,
         TypeElement type)Tests whether one method, as a member of a given type,
 overrides another method. | 
| void | printElements(Writer w,
             Element... elements)Prints a representation of the elements to the given writer in
 the specified order. | 
PackageElement getPackageElement(CharSequence name)
name - fully qualified package name, or "" for an unnamed packagenull if it cannot be foundTypeElement getTypeElement(CharSequence name)
name - the canonical namenull if it cannot be foundMap<? extends ExecutableElement,? extends AnnotationValue> getElementValuesWithDefaults(AnnotationMirror a)
a - annotation to examineAnnotationMirror.getElementValues()String getDocComment(Element e)
 A documentation comment of an element is a comment that
 begins with "/**" , ends with a separate
 "*/", and immediately precedes the element,
 ignoring white space.  Therefore, a documentation comment
 contains at least three"*" characters.  The text
 returned for the documentation comment is a processed form of
 the comment as it appears in source code.  The leading "/**" and trailing "*/" are removed.  For lines
 of the comment starting after the initial "/**",
 leading white space characters are discarded as are any
 consecutive "*" characters appearing after the white
 space or starting the line.  The processed lines are then
 concatenated together (including line terminators) and
 returned.
e - the element being examinednull
          if there is noneboolean isDeprecated(Element e)
true if the element is deprecated, false otherwise.e - the element being examinedtrue if the element is deprecated, false otherwiseName getBinaryName(TypeElement type)
type - the type element being examinedTypeElement.getQualifiedName()PackageElement getPackageOf(Element type)
type - the element being examinedList<? extends Element> getAllMembers(TypeElement type)
Note that elements of certain kinds can be isolated using
 methods in ElementFilter.
type - the type being examinedElement.getEnclosedElements()List<? extends AnnotationMirror> getAllAnnotationMirrors(Element e)
e - the element being examinedElement.getAnnotationMirrors(), 
AnnotatedConstructboolean hides(Element hider, Element hidden)
hider - the first elementhidden - the second elementtrue if and only if the first element hides
          the secondboolean overrides(ExecutableElement overrider, ExecutableElement overridden, TypeElement type)
 In the simplest and most typical usage, the value of the
 type parameter will simply be the class or interface
 directly enclosing overrider (the possibly-overriding
 method).  For example, suppose m1 represents the method
 String.hashCode and m2 represents Object.hashCode.  We can then ask whether m1 overrides
 m2 within the class String (it does):
 
 assert elements.overrides(m1, m2,
          elements.getTypeElement("java.lang.String")); 
 
 A more interesting case can be illustrated by the following example
 in which a method in type A does not override a
 like-named method in type B:
 When viewed as a member of a third typeclass A { public void m() {} }
interface B { void m(); }
...
m1 = ...; // A.m
m2 = ...; // B.m
assert ! elements.overrides(m1, m2, elements.getTypeElement("A"));
C, however,
 the method in A does override the one in B:
 class C extends A implements B {}
...
assert elements.overrides(m1, m2, elements.getTypeElement("C"));
overrider - the first method, possible overrideroverridden - the second method, possibly being overriddentype - the type of which the first method is a membertrue if and only if the first method overrides
          the secondString getConstantExpression(Object value)
value - a primitive value or stringIllegalArgumentException - if the argument is not a primitive
          value or stringVariableElement.getConstantValue()void printElements(Writer w, Element... elements)
w - the writer to print the output toelements - the elements to printName getName(CharSequence cs)
cs - the character sequence to return as a nameboolean isFunctionalInterface(TypeElement type)
true if the type element is a functional interface, false otherwise.type - the type element being examinedtrue if the element is a functional interface, false otherwise 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, 2025, Oracle and/or its affiliates.  All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.