SimpleTypeVisitor6 — 타입 방문자
SimpleTypeVisitor6 — 타입 방문자 (RELEASE_6)
SimpleTypeVisitor6은 타입을 방문하는 간단한(simple) 방문자 클래스예요. RELEASE_6 소스 버전에 맞는 기본 동작을 제공해요. RELEASE_6 및 그 이전 언어 구조에 해당하는 타입 방문 메서드들은 defaultAction을 호출하고, RELEASE_7 이후에 도입된 구조는 visitUnknown을 호출해요.
간단한 방문자는 방문 메서드의 기본 동작이 defaultAction 하나로 통일되어 있어서, 관심 있는 타입만 오버라이드하면 된다는 점이 특징이에요.
본문
클래스 선언은 다음과 같아요.
public class SimpleTypeVisitor6<R,P>
extends Object
implements TypeVisitor<R,P>
R은 방문 결과의 반환 타입, P는 추가 파라미터 타입이에요.
이 클래스는 타입 종류별로 다음과 같은 방문 메서드를 제공해요.
visitPrimitive,visitArray,visitDeclared,visitError— 기본 타입 계열.visitTypeVariable,visitWildcard,visitExecutable— 제네릭 계열.visitNoType—void같은 빈 타입.
기본 동작은 defaultAction(TypeMirror, P) 호출이에요. defaultAction은 RuntimeException을 throw하도록 되어 있어, 처리하지 않을 타입은 그대로 예외를 던지거나 오버라이드해서 바꿀 수 있어요.
RELEASE_6 기준이라 최신 타입 구조를 만나면 visitUnknown으로 처리돼요. 최신 버전을 대상으로 하면 SimpleTypeVisitor7/8/9/14를 쓰는 게 좋아요. javax.lang.model.util 패키지에 속해요.