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

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

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)