# 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.

- 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.