- All Superinterfaces:
AnnotatedConstruct
,Element
,QualifiedNameable
Represents a module program element. Provides access to
information about the module, its directives, and its members.
- API Note:
- The represented module may have an explicit reference
representation (either source code or executable output) or may be
created from implicit information. The explicit and standalone
source code construct for a module is typically a
module-info.java
file (JLS 7.7). Automatic modules (JLS 7.7.1) are named modules that do not have amodule-info
file. Implicit information is used to model unnamed modules.In the context of annotation processing, a module element can be:
- created from the initial inputs to a run of the tool
- queried for in the configured environment
- See Java Language Specification:
-
7.7 Module Declarations
- Since:
- 9
- See Also:
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Represents a directive within the declaration of this module.static enum
Thekind
of a directive.static interface
A visitor of module directives, in the style of the visitor design pattern.static interface
An exported package of a module.static interface
An opened package of a module.static interface
An implementation of a service provided by a module.static interface
A dependency of a module.static interface
A reference to a service used by a module. -
Method Summary
Modifier and TypeMethodDescriptionasType()
Returns a pseudo-type for this module.List<? extends ModuleElement.Directive>
Returns the directives contained in the declaration of this module.Returns the packages within this module.Returnsnull
since a module is not enclosed by another element.Returns the fully qualified name of this module.Returns the simple name of this module.boolean
isOpen()
Returnstrue
if this is an open module andfalse
otherwise.boolean
Returnstrue
if this is an unnamed module andfalse
otherwise.Methods declared in interface javax.lang.model.element.Element
accept, equals, getAnnotation, getAnnotationMirrors, getAnnotationsByType, getKind, getModifiers, hashCode
-
Method Details
-
asType
TypeMirror asType()Returns a pseudo-type for this module.- Specified by:
asType
in interfaceElement
- Returns:
- a pseudo-type for this module
- See Also:
-
getQualifiedName
Name getQualifiedName()Returns the fully qualified name of this module. For an unnamed module, an empty name is returned.- Specified by:
getQualifiedName
in interfaceQualifiedNameable
- API Note:
- If the module name consists of one identifier, then this method returns that identifier, which is deemed to be module's fully qualified name despite not being in qualified form. If the module name consists of more than one identifier, then this method returns the entire name.
- Returns:
- the fully qualified name of this module, or an empty name if this is an unnamed module
- See Java Language Specification:
-
6.2 Names and Identifiers
-
getSimpleName
Name getSimpleName()Returns the simple name of this module. For an unnamed module, an empty name is returned.- Specified by:
getSimpleName
in interfaceElement
- API Note:
- If the module name consists of one identifier, then this method returns that identifier. If the module name consists of more than one identifier, then this method returns the rightmost such identifier, which is deemed to be the module's simple name.
- Returns:
- the simple name of this module or an empty name if this is an unnamed module
- See Java Language Specification:
-
6.2 Names and Identifiers
- See Also:
-
getEnclosedElements
Returns the packages within this module.- Specified by:
getEnclosedElements
in interfaceElement
- Returns:
- the packages within this module
- See Also:
-
isOpen
boolean isOpen()Returnstrue
if this is an open module andfalse
otherwise.- Returns:
true
if this is an open module andfalse
otherwise
-
isUnnamed
boolean isUnnamed()Returnstrue
if this is an unnamed module andfalse
otherwise.- Returns:
true
if this is an unnamed module andfalse
otherwise- See Java Language Specification:
-
7.7.5 Unnamed Modules
-
getEnclosingElement
Element getEnclosingElement()Returnsnull
since a module is not enclosed by another element.- Specified by:
getEnclosingElement
in interfaceElement
- Returns:
null
- See Also:
-
getDirectives
List<? extends ModuleElement.Directive> getDirectives()Returns the directives contained in the declaration of this module.- Returns:
- the directives in the declaration of this module
-