AbstractElementVisitor9 — 요소 추상 방문자
AbstractElementVisitor9 — 요소 추상 방문자 (RELEASE_9)
AbstractElementVisitor9<R, P>는 RELEASE_9 소스 버전에 적합한 기본 동작을 갖는 프로그램 요소의 골격 방문자(skeletal visitor)예요. 이 클래스의 visitXyz 메서드들은 기본적으로 defaultAction을 호출하고, 알 수 없는 요소를 만나면 visitUnknown이 UnknownElementException을 던져요.
이 9 변형은 visitModule 방문을 추가해 모듈 요소를 처리해요. AbstractElementVisitor14의 직접 부모 클래스예요.
본문
선언은 다음과 같아요.
public abstract class AbstractElementVisitor9<R,P>
extends AbstractElementVisitor8<R,P>
보호된 생성자:
protected AbstractElementVisitor9()
주요 방문 메서드는 다음과 같아요.
R visitPackage(PackageElement e, P p) // 패키지
R visitType(TypeElement e, P p) // 클래스·인터페이스
R visitVariable(VariableElement e, P p) // 변수
R visitExecutable(ExecutableElement e, P p) // 메서드·생성자·초기화자
R visitTypeParameter(TypeParameterElement e, P p) // 타입 매개변수
R visitModule(ModuleElement e, P p) // 모듈
R visitUnknown(Element e, P p) // UnknownElementException을 던져요
기본 동작 메서드:
protected R defaultAction(Element e, P p)
각 방문은 기본적으로 defaultAction(e, p)를 호출하고, 서브클래스는 이를 오버라이드해 공통 처리를 정의할 수 있어요. visitModule도 defaultAction을 호출하며, 모듈을 지원하지 않는 방문자는 이를 오버라이드하면 돼요. visitUnknown은 기본적으로 UnknownElementException을 던져요.