-
- All Superinterfaces:
AnnotatedConstruct,Element,QualifiedNameable
public interface ModuleElement extends Element, QualifiedNameable
Represents a module program element. Provides access to information about the module, its directives, and its members.- Since:
- 9
- See Also:
Elements.getModuleOf(javax.lang.model.element.Element)- See The Java™ Language Specification:
- 7.7 Module Declarations
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interfaceModuleElement.DirectiveRepresents a directive within the declaration of this module.static classModuleElement.DirectiveKindThekindof a directive.static interfaceModuleElement.DirectiveVisitor<R,P>A visitor of module directives, in the style of the visitor design pattern.static interfaceModuleElement.ExportsDirectiveAn exported package of a module.static interfaceModuleElement.OpensDirectiveAn opened package of a module.static interfaceModuleElement.ProvidesDirectiveAn implementation of a service provided by a module.static interfaceModuleElement.RequiresDirectiveA dependency of a module.static interfaceModuleElement.UsesDirectiveA reference to a service used by a module.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description List<? extends ModuleElement.Directive>getDirectives()Returns the directives contained in the declaration of this module.List<? extends Element>getEnclosedElements()Returns the packages within this module.ElementgetEnclosingElement()Returnsnullsince a module is not enclosed by another element.NamegetQualifiedName()Returns the fully qualified name of this module.NamegetSimpleName()Returns the simple name of this module.booleanisOpen()Returnstrueif this is an open module andfalseotherwise.booleanisUnnamed()Returnstrueif this is an unnamed module andfalseotherwise.-
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 module. For an unnamed module, an empty name is returned.- Specified by:
getQualifiedNamein interfaceQualifiedNameable- Returns:
- the fully qualified name of this module, or an empty name if this is an unnamed module
-
getSimpleName
Name getSimpleName()
Returns the simple name of this module. For an unnamed module, an empty name is returned.- Specified by:
getSimpleNamein interfaceElement- Returns:
- the simple name of this module or an empty name if this is an unnamed module
- See Also:
PackageElement.getSimpleName(),ExecutableElement.getSimpleName(),TypeElement.getSimpleName(),VariableElement.getSimpleName(),getSimpleName()
-
getEnclosedElements
List<? extends Element> getEnclosedElements()
Returns the packages within this module.- Specified by:
getEnclosedElementsin interfaceElement- Returns:
- the packages within this module
- See Also:
TypeElement.getEnclosedElements(),PackageElement.getEnclosedElements(),getEnclosedElements(),Elements.getAllMembers(javax.lang.model.element.TypeElement)
-
isOpen
boolean isOpen()
Returnstrueif this is an open module andfalseotherwise.- Returns:
trueif this is an open module andfalseotherwise
-
isUnnamed
boolean isUnnamed()
Returnstrueif this is an unnamed module andfalseotherwise.- Returns:
trueif this is an unnamed module andfalseotherwise
-
getEnclosingElement
Element getEnclosingElement()
Returnsnullsince a module is not enclosed by another element.- Specified by:
getEnclosingElementin interfaceElement- Returns:
null- See Also:
Elements.getPackageOf(javax.lang.model.element.Element)
-
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
-
-