# Uses of Package
javax.lang.model.element

Packages that use javax.lang.model.element
Package
Description
com.sun.source.doctree
Provides interfaces to represent documentation comments as abstract syntax trees (AST).
com.sun.source.tree
Provides interfaces to represent source code as abstract syntax trees (AST).
com.sun.source.util
Provides utilities for operations on abstract syntax trees (AST).
javax.annotation.processing
Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
javax.lang.model
Types and hierarchies of packages comprising a Java language model, a reflective API that models the declarations and types of the Java programming language.
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.
javax.tools
Provides interfaces for tools which can be invoked from a program, for example, compilers.
jdk.javadoc.doclet
The Doclet API provides an environment which, in conjunction with the Language Model API and Compiler Tree API, allows clients to inspect the source-level structures of programs and libraries, including API comments embedded in the source.
jdk.jshell
Provides interfaces for creating tools, such as a Read-Eval-Print Loop (REPL), which interactively evaluate "snippets" of Java programming language code.

Classes in javax.lang.model.element used by com.sun.source.doctree
Class
Description
Name
An immutable sequence of characters.
Classes in javax.lang.model.element used by com.sun.source.tree
Class
Description
Element
Represents a program element such as a module, package, class, or method.
ExecutableElement
Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation interface elements.
Modifier
Represents a modifier on a program element such as a class, method, or field.
Name
An immutable sequence of characters.
TypeElement
Represents a class or interface program element.
Classes in javax.lang.model.element used by com.sun.source.util
Class
Description
AnnotationMirror
Represents an annotation.
AnnotationValue
Represents a value of an annotation interface element.
Element
Represents a program element such as a module, package, class, or method.
ExecutableElement
Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation interface elements.
Name
An immutable sequence of characters.
PackageElement
Represents a package program element.
TypeElement
Represents a class or interface program element.
VariableElement
Represents a field, `enum` constant, method or constructor parameter, local variable, resource variable, or exception parameter.
Classes in javax.lang.model.element used by javax.annotation.processing
Class
Description
AnnotationMirror
Represents an annotation.
AnnotationValue
Represents a value of an annotation interface element.
Element
Represents a program element such as a module, package, class, or method.
ExecutableElement
Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation interface elements.
TypeElement
Represents a class or interface program element.
Classes in javax.lang.model.element used by javax.lang.model
Class
Description
AnnotationMirror
Represents an annotation.
Classes in javax.lang.model.element used by javax.lang.model.element
Class
Description
AnnotationMirror
Represents an annotation.
AnnotationValue
Represents a value of an annotation interface element.
AnnotationValueVisitor
A visitor of the values of annotation interface elements, using a variant of the visitor design pattern.
Element
Represents a program element such as a module, package, class, or method.
ElementKind
The `kind` of an element.
ElementVisitor
A visitor of program elements, in the style of the visitor design pattern.
ExecutableElement
Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation interface elements.
Modifier
Represents a modifier on a program element such as a class, method, or field.
ModuleElement
Represents a module program element.
ModuleElement.Directive
Represents a directive within the declaration of this module.
ModuleElement.DirectiveKind
The `kind` of a directive.
ModuleElement.DirectiveVisitor
A visitor of module directives, in the style of the visitor design pattern.
ModuleElement.ExportsDirective
An exported package of a module.
ModuleElement.OpensDirective
An opened package of a module.
ModuleElement.ProvidesDirective
An implementation of a service provided by a module.
ModuleElement.RequiresDirective
A dependency of a module.
ModuleElement.UsesDirective
A reference to a service used by a module.
Name
An immutable sequence of characters.
NestingKind
The nesting kind of a type element.
PackageElement
Represents a package program element.
Parameterizable
A mixin interface for an element that has type parameters.
QualifiedNameable
A mixin interface for an element that has a qualified name.
RecordComponentElement
Represents a record component.
TypeElement
Represents a class or interface program element.
TypeParameterElement
Represents a formal type parameter of a generic class, interface, method, or constructor element.
VariableElement
Represents a field, `enum` constant, method or constructor parameter, local variable, resource variable, or exception parameter.
Classes in javax.lang.model.element used by javax.lang.model.type
Class
Description
AnnotationMirror
Represents an annotation.
Element
Represents a program element such as a module, package, class, or method.
Classes in javax.lang.model.element used by javax.lang.model.util
Class
Description
AnnotationMirror
Represents an annotation.
AnnotationValue
Represents a value of an annotation interface element.
AnnotationValueVisitor
A visitor of the values of annotation interface elements, using a variant of the visitor design pattern.
Element
Represents a program element such as a module, package, class, or method.
ElementVisitor
A visitor of program elements, in the style of the visitor design pattern.
ExecutableElement
Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation interface elements.
ModuleElement
Represents a module program element.
ModuleElement.Directive
Represents a directive within the declaration of this module.
ModuleElement.ExportsDirective
An exported package of a module.
ModuleElement.OpensDirective
An opened package of a module.
ModuleElement.ProvidesDirective
An implementation of a service provided by a module.
ModuleElement.RequiresDirective
A dependency of a module.
ModuleElement.UsesDirective
A reference to a service used by a module.
Name
An immutable sequence of characters.
PackageElement
Represents a package program element.
RecordComponentElement
Represents a record component.
TypeElement
Represents a class or interface program element.
TypeParameterElement
Represents a formal type parameter of a generic class, interface, method, or constructor element.
VariableElement
Represents a field, `enum` constant, method or constructor parameter, local variable, resource variable, or exception parameter.
Classes in javax.lang.model.element used by javax.tools
Class
Description
Modifier
Represents a modifier on a program element such as a class, method, or field.
NestingKind
The nesting kind of a type element.
Classes in javax.lang.model.element used by jdk.javadoc.doclet
Class
Description
Element
Represents a program element such as a module, package, class, or method.
TypeElement
Represents a class or interface program element.
Classes in javax.lang.model.element used by jdk.jshell
Class
Description
Element
Represents a program element such as a module, package, class, or method.