AbstractElementVisitor8 — 요소 추상 방문자
AbstractElementVisitor8 — 요소 추상 방문자 (RELEASE_8)
AbstractElementVisitor8<R, P>는 RELEASE_8 소스 버전에 적합한 기본 동작을 갖는 프로그램 요소의 골격 방문자(skeletal visitor)예요. 이 클래스의 visitXyz 메서드들은 기본적으로 defaultAction을 호출하고, 알 수 없는 요소를 만나면 visitUnknown이 UnknownElementException을 던져요.
RELEASE_6과 RELEASE_8 사이에 새 요소 종류가 추가되지 않았으므로, 8 변형은 6 변형과 동일한 방문 메서드 집합을 제공해요. 주로 소스 버전 호환 표기의 일관성을 위해 존재해요.
본문
선언은 다음과 같아요.
public abstract class AbstractElementVisitor8<R,P>
extends AbstractElementVisitor7<R,P>
보호된 생성자:
protected AbstractElementVisitor8()
주요 방문 메서드는 다음과 같아요.
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 visitUnknown(Element e, P p) // UnknownElementException을 던져요
기본 동작 메서드:
protected R defaultAction(Element e, P p)
각 방문은 기본적으로 defaultAction(e, p)를 호출하고, 서브클래스는 이를 오버라이드해 공통 처리를 정의할 수 있어요. visitUnknown은 기본적으로 UnknownElementException을 던져요.