SimpleElementVisitor6 — 프로그램 요소 방문자
SimpleElementVisitor6 — 프로그램 요소 방문자 (RELEASE_6)
SimpleElementVisitor6은 프로그램 요소를 방문하는 간단한 방문자 클래스예요. RELEASE_6 소스 버전에 맞는 기본 동작을 제공해요. RELEASE_6 및 그 이전 언어 구조에 해당하는 방문 메서드들은 기본적으로 defaultAction을 호출하고, RELEASE_7 이후에 도입된 구조는 visitUnknown을 호출해요.
간단한(simple) 방문자의 특징은 방문 메서드의 기본 동작이 하나로 통일되어 있어서, 관심 있는 요소만 오버라이드하면 된다는 점이에요.
본문
클래스 선언은 다음과 같아요.
public class SimpleElementVisitor6<R,P>
extends Object
implements ElementVisitor<R,P>
R은 방문 결과의 반환 타입, P는 추가 파라미터 타입이에요.
이 클래스는 요소 종류별로 다음과 같은 방문 메서드를 제공해요.
visitPackage,visitType,visitVariable,visitExecutable— 기본 요소 종류.visitTypeParameter,visitModule등 — 필요에 따라 확장.
기본 동작은 defaultAction(E, P) 호출이에요. defaultAction은 RuntimeException을 throw하도록 되어 있어서, 아무것도 처리하지 않으려면 이것을 오버라이드해서 null을 반환하게 만들 수 있어요.
RELEASE_6 기준이라 자바 7 이후 구조는 visitUnknown으로 처리돼요. 최신 버전을 대상으로 하면 SimpleElementVisitor7/8/9/14를 쓰는 게 좋아요. javax.lang.model.util 패키지에 속해요.