Uses of Interface javax.lang.model.element.Element (Java Platform SE 8 )
Date: 2026-04-22

## Uses of Interface
javax.lang.model.element.Element

- Packages that use Element
  Package | Description
  --- | ---
  javax.annotation.processing | Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
  javax.lang.model.element | Interfaces used to model elements of the Java programming language.
  javax.lang.model.type | Interfaces used to model Java programming language types.
  javax.lang.model.util | Utilities to assist in the processing of program elements and types.

- - ### Uses of Element in javax.annotation.processing

    Methods in javax.annotation.processing that return types with arguments of type Element
    Modifier and Type | Method and Description
    --- | ---
    `Set<? extends Element>` | RoundEnvironment.`getElementsAnnotatedWith(Class<? extends Annotation> a)` Returns the elements annotated with the given annotation type.
    `Set<? extends Element>` | RoundEnvironment.`getElementsAnnotatedWith(TypeElement a)` Returns the elements annotated with the given annotation type.
    `Set<? extends Element>` | RoundEnvironment.`getRootElements()` Returns the root elements for annotation processing generated by the prior round.

    Methods in javax.annotation.processing with parameters of type Element
    Modifier and Type | Method and Description
    --- | ---
    `JavaFileObject` | Filer.`createClassFile(CharSequence name, Element... originatingElements)` Creates a new class file, and returns an object to allow writing to it.
    `FileObject` | Filer.`createResource(JavaFileManager.Location location, CharSequence pkg, CharSequence relativeName, Element... originatingElements)` Creates a new auxiliary resource file for writing and returns a file object for it.
    `JavaFileObject` | Filer.`createSourceFile(CharSequence name, Element... originatingElements)` Creates a new source file and returns an object to allow writing to it.
    `Iterable<? extends Completion>` | AbstractProcessor.`getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)` Returns an empty iterable of completions.
    `Iterable<? extends Completion>` | Processor.`getCompletions(Element element, AnnotationMirror annotation, ExecutableElement member, String userText)` Returns to the tool infrastructure an iterable of suggested completions to an annotation.
    `void` | Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e)` Prints a message of the specified kind at the location of the element.
    `void` | Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a)` Prints a message of the specified kind at the location of the annotation mirror of the annotated element.
    `void` | Messager.`printMessage(Diagnostic.Kind kind, CharSequence msg, Element e, AnnotationMirror a, AnnotationValue v)` Prints a message of the specified kind at the location of the annotation value inside the annotation mirror of the annotated element.

  - ### Uses of Element in javax.lang.model.element

    Subinterfaces of Element in javax.lang.model.element
    Modifier and Type | Interface and Description
    --- | ---
    `interface` | `ExecutableElement` Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation type elements.
    `interface` | `PackageElement` Represents a package program element.
    `interface` | `Parameterizable` A mixin interface for an element that has type parameters.
    `interface` | `QualifiedNameable` A mixin interface for an element that has a qualified name.
    `interface` | `TypeElement` Represents a class or interface program element.
    `interface` | `TypeParameterElement` Represents a formal type parameter of a generic class, interface, method, or constructor element.
    `interface` | `VariableElement` Represents a field, `enum` constant, method or constructor parameter, local variable, resource variable, or exception parameter.

    Methods in javax.lang.model.element that return Element
    Modifier and Type | Method and Description
    --- | ---
    `Element` | PackageElement.`getEnclosingElement()` Returns `null` since a package is not enclosed by another element.
    `Element` | VariableElement.`getEnclosingElement()` Returns the enclosing element of this variable.
    `Element` | TypeParameterElement.`getEnclosingElement()` Returns the generic element of this type parameter.
    `Element` | Element.`getEnclosingElement()` Returns the innermost element within which this element is, loosely speaking, enclosed.
    `Element` | TypeElement.`getEnclosingElement()` Returns the package of a top-level type and returns the immediately lexically enclosing element for a nested type.
    `Element` | TypeParameterElement.`getGenericElement()` Returns the generic class, interface, method, or constructor that is parameterized by this type parameter.
    `Element` | UnknownElementException.`getUnknownElement()` Returns the unknown element.

    Methods in javax.lang.model.element that return types with arguments of type Element
    Modifier and Type | Method and Description
    --- | ---
    `List<? extends Element>` | PackageElement.`getEnclosedElements()` Returns the top-level classes and interfaces within this package.
    `List<? extends Element>` | Element.`getEnclosedElements()` Returns the elements that are, loosely speaking, directly enclosed by this element.
    `List<? extends Element>` | TypeElement.`getEnclosedElements()` Returns the fields, methods, constructors, and member types that are directly declared in this class or interface.

    Methods in javax.lang.model.element with parameters of type Element
    Modifier and Type | Method and Description
    --- | ---
    `R` | ElementVisitor.`visit(Element e)` A convenience method equivalent to `v.visit(e, null)`.
    `R` | ElementVisitor.`visit(Element e, P p)` Visits an element.
    `R` | ElementVisitor.`visitUnknown(Element e, P p)` Visits an unknown kind of element.

    Constructors in javax.lang.model.element with parameters of type Element
    Constructor and Description
    `UnknownElementException(Element e, Object p)` Creates a new `UnknownElementException`.

  - ### Uses of Element in javax.lang.model.type

    Methods in javax.lang.model.type that return Element
    Modifier and Type | Method and Description
    --- | ---
    `Element` | TypeVariable.`asElement()` Returns the element corresponding to this type variable.
    `Element` | DeclaredType.`asElement()` Returns the element corresponding to this type.

  - ### Uses of Element in javax.lang.model.util

    Methods in javax.lang.model.util that return Element
    Modifier and Type | Method and Description
    --- | ---
    `Element` | Types.`asElement(TypeMirror t)` Returns the element corresponding to a type.

    Methods in javax.lang.model.util that return types with arguments of type Element
    Modifier and Type | Method and Description
    --- | ---
    `List<? extends Element>` | Elements.`getAllMembers(TypeElement type)` Returns all members of a type element, whether inherited or declared directly.

    Methods in javax.lang.model.util with parameters of type Element
    Modifier and Type | Method and Description
    --- | ---
    `TypeMirror` | Types.`asMemberOf(DeclaredType containing, Element element)` Returns the type of an element when that element is viewed as a member of, or otherwise directly contained by, a given type.
    `protected R` | SimpleElementVisitor6.`defaultAction(Element e, P p)` The default action for visit methods.
    `List<? extends AnnotationMirror>` | Elements.`getAllAnnotationMirrors(Element e)` Returns all annotations present on an element, whether directly present or present via inheritance.
    `String` | Elements.`getDocComment(Element e)` Returns the text of the documentation ("Javadoc") comment of an element.
    `PackageElement` | Elements.`getPackageOf(Element type)` Returns the package of an element.
    `boolean` | Elements.`hides(Element hider, Element hidden)` Tests whether one type, method, or field hides another.
    `boolean` | Elements.`isDeprecated(Element e)` Returns `true` if the element is deprecated, `false` otherwise.
    `void` | Elements.`printElements(Writer w, Element... elements)` Prints a representation of the elements to the given writer in the specified order.
    `R` | ElementScanner6.`scan(Element e)` Convenience method equivalent to `v.scan(e, null)`.
    `R` | ElementScanner6.`scan(Element e, P p)` Processes an element by calling `e.accept(this, p)`; this method may be overridden by subclasses.
    `R` | AbstractElementVisitor6.`visit(Element e)` Visits any program element as if by passing itself to that element's `accept` method and passing `null` for the additional parameter.
    `R` | AbstractElementVisitor6.`visit(Element e, P p)` Visits any program element as if by passing itself to that element's `accept` method.
    `R` | AbstractElementVisitor6.`visitUnknown(Element e, P p)` Visits an unknown kind of element.

    Method parameters in javax.lang.model.util with type arguments of type Element
    Modifier and Type | Method and Description
    --- | ---
    `static List<ExecutableElement>` | ElementFilter.`constructorsIn(Iterable<? extends Element> elements)` Returns a list of constructors in `elements`.
    `static Set<ExecutableElement>` | ElementFilter.`constructorsIn(Set<? extends Element> elements)` Returns a set of constructors in `elements`.
    `static List<VariableElement>` | ElementFilter.`fieldsIn(Iterable<? extends Element> elements)` Returns a list of fields in `elements`.
    `static Set<VariableElement>` | ElementFilter.`fieldsIn(Set<? extends Element> elements)` Returns a set of fields in `elements`.
    `static List<ExecutableElement>` | ElementFilter.`methodsIn(Iterable<? extends Element> elements)` Returns a list of methods in `elements`.
    `static Set<ExecutableElement>` | ElementFilter.`methodsIn(Set<? extends Element> elements)` Returns a set of methods in `elements`.
    `static List<PackageElement>` | ElementFilter.`packagesIn(Iterable<? extends Element> elements)` Returns a list of packages in `elements`.
    `static Set<PackageElement>` | ElementFilter.`packagesIn(Set<? extends Element> elements)` Returns a set of packages in `elements`.
    `R` | ElementScanner6.`scan(Iterable<? extends Element> iterable, P p)` Iterates over the given elements and calls `scan(Element, P)` on each one.
    `static List<TypeElement>` | ElementFilter.`typesIn(Iterable<? extends Element> elements)` Returns a list of types in `elements`.
    `static Set<TypeElement>` | ElementFilter.`typesIn(Set<? extends Element> elements)` Returns a set of types in `elements`.

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.