ModuleElement — 모듈 요소 인터페이스
ModuleElement — 모듈 요소 인터페이스
ModuleElement는 모듈 프로그램 요소를 나타내는 인터페이스예요. 모듈 자체, 모듈의 지시문(directive), 그리고 모듈 멤버에 대한 정보에 접근할 수 있게 해요. 슈퍼 인터페이스는 Element와 QualifiedNameable이에요.
API 노트: 표현되는 모듈은 명시적 참조 표현(소스 코드나 실행 출력)을 가질 수도 있고, 암묵적 정보에서 생성될 수도 있어요. 모듈의 명시적·독립형 소스 코드 구성은 보통 module-info.java 파일이에요(JLS 7.7). 자동 모듈(automatic module, JLS 7.7.1)은 module-info 파일이 없는 이름 붙은 모듈이고, 이름 없는 모듈(unnamed module)은 암묵적 정보로 모델링돼요.
본문
선언은 다음과 같아요.
public interface ModuleElement extends Element, QualifiedNameable
주요 메서드는 다음과 같아요.
| Modifier and Type | Method | 설명 |
|---|---|---|
TypeMirror |
asType() |
이 모듈에 대한 유사 타입(pseudo-type)을 반환해요. |
List<? extends ModuleElement.Directive> |
getDirectives() |
이 모듈 선언에 포함된 지시문들을 반환해요. |
List<? extends Element> |
getEnclosedElements() |
이 모듈 안의 패키지들을 반환해요. |
Element |
getEnclosingElement() |
모듈은 다른 요소에 포함되지 않으므로 null을 반환해요. |
Name |
getQualifiedName() |
이 모듈의 정규화된 이름을 반환해요. |
Name |
getSimpleName() |
이 모듈의 단순 이름을 반환해요. |
boolean |
isOpen() |
open 모듈이면 true, 아니면 false. |
boolean |
isUnnamed() |
이름 없는 모듈이면 true, 아니면 false. |
ModuleElement.Directive는 requires, exports, opens, uses, provides 같은 모듈 지시문을 나타내는 중첩 인터페이스예요. 모듈을 소유한 요소를 얻으려면 Elements.getModuleOf(element)를 써요. Since: 9.