# Uses of Package
javax.lang.model.element

Packages that use javax.lang.model.element
javax.annotation.processing: Facilities for declaring annotation processors and for allowing annotation processors to communicate with an annotation processing tool environment.
javax.lang.model: Classes and hierarchies of packages used to model 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.

Classes in javax.lang.model.element used by javax.annotation.processing
Class and Description
AnnotationMirror Represents an annotation.
AnnotationValue Represents a value of an annotation type element.
Element Represents a program element such as a package, class, or method.
ExecutableElement Represents a method, constructor, or initializer (static or instance) of a class or interface, including annotation type elements.
TypeElement Represents a class or interface program element.

Classes in javax.lang.model.element used by javax.lang.model
Class and Description
AnnotationMirror Represents an annotation.

Classes in javax.lang.model.element used by javax.lang.model.element
Class and Description
AnnotationMirror Represents an annotation.
AnnotationValue Represents a value of an annotation type element.
AnnotationValueVisitor A visitor of the values of annotation type elements, using a variant of the visitor design pattern.
Element Represents a program element such as a 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 type 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 "module statement" within the declaration of this module.
ModuleElement.DirectiveKind The `kind` of a directive.
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.
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 and Description
Element Represents a program element such as a package, class, or method.

Classes in javax.lang.model.element used by javax.lang.model.util
Class and Description
AnnotationMirror Represents an annotation.
AnnotationValue Represents a value of an annotation type element.
AnnotationValueVisitor A visitor of the values of annotation type elements, using a variant of the visitor design pattern.
Element Represents a program element such as a 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 type elements.
ModuleElement Represents a module program element.
ModuleElement.Directive Represents a "module statement" within the declaration of this module.
ModuleElement.ExportsDirective An exported 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.
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 and Description
Modifier Represents a modifier on a program element such as a class, method, or field.
NestingKind The nesting kind of a type element.