PackageElement (Java SE 9 & JDK 9 )
Keywords: javax.lang.model.element.PackageElement interface

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 inherited from interface javax.lang.model.AnnotatedConstruct

      `getAnnotationsByType`

    - ### Methods inherited from 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)`