Module java.compiler
Package javax.lang.model.element

## Interface PackageElement

- All Superinterfaces:
    `AnnotatedConstruct`, `Element`, `QualifiedNameable`

      public interface PackageElement
      extends Element, QualifiedNameable

  Represents a package program element. Provides access to information about the package and its members.
  Since:
    1.6
  See Also:
    `Elements.getPackageOf(javax.lang.model.element.Element)`

- - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `List<? extends Element>` | `getEnclosedElements()` | Returns the top-level classes and interfaces within this package.
    `Element` | `getEnclosingElement()` | Returns the enclosing module if such a module exists; otherwise returns `null`.
    `Name` | `getQualifiedName()` | Returns the fully qualified name of this package.
    `Name` | `getSimpleName()` | Returns the simple name of this package.
    `boolean` | `isUnnamed()` | Returns `true` if this is an unnamed package and `false` otherwise.

    - ### Methods declared in interface javax.lang.model.AnnotatedConstruct

      `getAnnotationsByType`

    - ### Methods declared in interface javax.lang.model.element.Element

      `accept, asType, equals, getAnnotation, getAnnotationMirrors, getKind, getModifiers, hashCode`

- - ### Method Detail

    - #### getQualifiedName

          Name getQualifiedName()

      Returns the fully qualified name of this package. This is also known as the package's canonical name. For an unnamed package, an empty name is returned.
      Specified by:
        `getQualifiedName` in interface `QualifiedNameable`
      API Note:
        The fully qualified name of a named package that is not a subpackage of a named package is its simple name. The fully qualified name of a named package that is a subpackage of another named package consists of the fully qualified name of the containing package, followed by "`.`", followed by the simple (member) name of the subpackage.
      Returns:
        the fully qualified name of this package, or an empty name if this is an unnamed package
      See The Java™ Language Specification:
        6.7 Fully Qualified Names and Canonical Names

    - #### getSimpleName

          Name getSimpleName()

      Returns the simple name of this package. For an unnamed package, an empty name is returned.
      Specified by:
        `getSimpleName` in interface `Element`
      Returns:
        the simple name of this package or an empty name if this is an unnamed package
      See Also:
        `getSimpleName()`, `ExecutableElement.getSimpleName()`, `TypeElement.getSimpleName()`, `VariableElement.getSimpleName()`, `ModuleElement.getSimpleName()`

    - #### getEnclosedElements

          List<? extends Element> getEnclosedElements()

      Returns the top-level classes and interfaces within this package. Note that subpackages are not considered to be enclosed by a package.
      Specified by:
        `getEnclosedElements` in interface `Element`
      Returns:
        the top-level classes and interfaces within this package
      See Also:
        `TypeElement.getEnclosedElements()`, `getEnclosedElements()`, `ModuleElement.getEnclosedElements()`, `Elements.getAllMembers(javax.lang.model.element.TypeElement)`

    - #### isUnnamed

          boolean isUnnamed()

      Returns `true` if this is an unnamed package and `false` otherwise.
      Returns:
        `true` if this is an unnamed package and `false` otherwise
      See The Java™ Language Specification:
        7.4.2 Unnamed Packages

    - #### getEnclosingElement

          Element getEnclosingElement()

      Returns the enclosing module if such a module exists; otherwise returns `null`. One situation where a module does not exist for a package is if the environment does not include modules, such as an annotation processing environment configured for a source version without modules.
      Specified by:
        `getEnclosingElement` in interface `Element`
      Returns:
        the enclosing module or `null` if no such module exists
      See Also:
        `Elements.getPackageOf(javax.lang.model.element.Element)`