# 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 | 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.
  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 type 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 type 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 type elements.
  Name | An immutable sequence of characters.
  PackageElement | Represents a package program element.
  TypeElement | Represents a class or interface program element.

- Classes in javax.lang.model.element used by javax.annotation.processing
  Class | Description
  --- | ---
  AnnotationMirror | Represents an annotation.
  AnnotationValue | Represents a value of an annotation type 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 type 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 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 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 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 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.
  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
  --- | ---
  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 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 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 type 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.
  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.