ModuleElement — 모듈 요소 인터페이스

ModuleElement — 모듈 요소 인터페이스

ModuleElement는 모듈 프로그램 요소를 나타내는 인터페이스예요. 모듈 자체, 모듈의 지시문(directive), 그리고 모듈 멤버에 대한 정보에 접근할 수 있게 해요. 슈퍼 인터페이스는 ElementQualifiedNameable이에요.

API 노트: 표현되는 모듈은 명시적 참조 표현(소스 코드나 실행 출력)을 가질 수도 있고, 암묵적 정보에서 생성될 수도 있어요. 모듈의 명시적·독립형 소스 코드 구성은 보통 module-info.java 파일이에요(JLS 7.7). 자동 모듈(automatic module, JLS 7.7.1)은 module-info 파일이 없는 이름 붙은 모듈이고, 이름 없는 모듈(unnamed module)은 암묵적 정보로 모델링돼요.

출처: Java API Reference

본문

선언은 다음과 같아요.

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.Directiverequires, exports, opens, uses, provides 같은 모듈 지시문을 나타내는 중첩 인터페이스예요. 모듈을 소유한 요소를 얻으려면 Elements.getModuleOf(element)를 써요. Since: 9.

더 알아보기 (Learn more)

Java 공식 API