AbstractTypeVisitor14 — 타입 추상 방문자
AbstractTypeVisitor14 — 타입 추상 방문자 (RELEASE_14)
AbstractTypeVisitor14<R, P>는 RELEASE_14 소스 버전에 적합한 기본 동작을 갖는 타입의 골격 방문자(skeletal visitor)예요. 이 클래스의 visitXyz 메서드들은 기본적으로 defaultAction을 호출하고, 알 수 없는 타입을 만나면 visitUnknown이 UnknownTypeException을 던져요.
이 14 변형은 AbstractTypeVisitor9의 기능에 더해 visitIntersection(9에서 추가)과 visitUnion을 포함한 RELEASE_14까지의 모든 타입 종류를 처리해요. R은 방문 메서드의 반환 타입, P는 추가 매개변수의 타입이에요.
본문
선언은 다음과 같아요.
public abstract class AbstractTypeVisitor14<R,P>
extends AbstractTypeVisitor9<R,P>
보호된 생성자:
protected AbstractTypeVisitor14()
주요 방문 메서드는 다음과 같아요.
R visitArray(ArrayType t, P p) // 배열 타입
R visitDeclared(DeclaredType t, P p) // 클래스·인터페이스 타입
R visitError(ErrorType t, P p) // 오류 타입
R visitExecutable(ExecutableType t, P p) // 실행 가능 타입
R visitIntersection(IntersectionType t, P p) // 교차 타입
R visitNoType(NoType t, P p) // 의사 타입
R visitNull(NullType t, P p) // null 타입
R visitPrimitive(PrimitiveType t, P p) // 프리미티브 타입
R visitTypeVariable(TypeVariable t, P p) // 타입 변수
R visitUnion(UnionType t, P p) // 유니온 타입
R visitWildcard(WildcardType t, P p) // 와일드카드 타입
R visitUnknown(TypeMirror t, P p) // UnknownTypeException을 던져요
기본 동작 메서드:
protected R defaultAction(TypeMirror e, P p)
각 방문은 기본적으로 defaultAction(e, p)를 호출하고, 서브클래스는 이를 오버라이드해 공통 처리를 정의할 수 있어요. visitUnknown은 기본적으로 UnknownTypeException을 던져요.