# Hierarchy For Package javax.lang.model.element

Package Hierarchies:

- All Packages

## Class Hierarchy

- java.lang.Object
  - java.lang.Throwable (implements java.io.Serializable)
    - java.lang.Exception
      - java.lang.RuntimeException
        - javax.lang.model.UnknownEntityException
          - javax.lang.model.element.UnknownAnnotationValueException
          - javax.lang.model.element.UnknownDirectiveException
          - javax.lang.model.element.UnknownElementException

## Interface Hierarchy

- javax.lang.model.AnnotatedConstruct
  - javax.lang.model.element.Element
    - javax.lang.model.element.ExecutableElement (also extends javax.lang.model.element.Parameterizable)
    - javax.lang.model.element.ModuleElement (also extends javax.lang.model.element.QualifiedNameable)
    - javax.lang.model.element.PackageElement (also extends javax.lang.model.element.QualifiedNameable)
    - javax.lang.model.element.Parameterizable
      - javax.lang.model.element.ExecutableElement (also extends javax.lang.model.element.Element)
      - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Element, javax.lang.model.element.QualifiedNameable)
    - javax.lang.model.element.QualifiedNameable
      - javax.lang.model.element.ModuleElement (also extends javax.lang.model.element.Element)
      - javax.lang.model.element.PackageElement (also extends javax.lang.model.element.Element)
      - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Element, javax.lang.model.element.Parameterizable)
    - javax.lang.model.element.RecordComponentElement
    - javax.lang.model.element.TypeElement (also extends javax.lang.model.element.Parameterizable, javax.lang.model.element.QualifiedNameable)
    - javax.lang.model.element.TypeParameterElement
    - javax.lang.model.element.VariableElement
- javax.lang.model.element.AnnotationMirror
- javax.lang.model.element.AnnotationValue
- javax.lang.model.element.AnnotationValueVisitor<R,P>
- java.lang.CharSequence
  - javax.lang.model.element.Name
- javax.lang.model.element.ElementVisitor<R,P>
- javax.lang.model.element.ModuleElement.Directive
  - javax.lang.model.element.ModuleElement.ExportsDirective
  - javax.lang.model.element.ModuleElement.OpensDirective
  - javax.lang.model.element.ModuleElement.ProvidesDirective
  - javax.lang.model.element.ModuleElement.RequiresDirective
  - javax.lang.model.element.ModuleElement.UsesDirective
- javax.lang.model.element.ModuleElement.DirectiveVisitor<R,P>

## Enum Class Hierarchy

- java.lang.Object
  - java.lang.Enum<E> (implements java.lang.Comparable<T>, java.lang.constant.Constable, java.io.Serializable)
    - javax.lang.model.element.ElementKind
    - javax.lang.model.element.Modifier
    - javax.lang.model.element.ModuleElement.DirectiveKind
    - javax.lang.model.element.NestingKind