AbstractTypeVisitor6 — 타입 추상 방문자
AbstractTypeVisitor6 — 타입 추상 방문자 (RELEASE_6)
AbstractTypeVisitor6<R, P>는 RELEASE_6 소스 버전에 적합한 기본 동작을 갖는 타입의 골격 방문자(skeletal visitor)예요. 이 클래스의 visitXyz 메서드들은 기본적으로 defaultAction을 호출하고, 알 수 없는 타입을 만나면 visitUnknown이 UnknownTypeException을 던져요.
방문자 디자인 패턴을 따르며, 타입의 종류를 컴파일 시점에 알 수 없을 때 안전하게 조작할 수 있게 해 줘요. R은 방문 메서드의 반환 타입, P는 추가 매개변수의 타입이에요.
본문
선언은 다음과 같아요.
public abstract class AbstractTypeVisitor6<R,P>
implements TypeVisitor<R,P>
보호된 생성자:
protected AbstractTypeVisitor6()
주요 방문 메서드는 다음과 같아요.
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 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 visitWildcard(WildcardType t, P p) // 와일드카드 타입
R visitUnknown(TypeMirror t, P p) // UnknownTypeException을 던져요
기본 동작 메서드:
protected R defaultAction(TypeMirror e, P p)
각 방문은 기본적으로 defaultAction(e, p)를 호출하고, 서브클래스는 이를 오버라이드해 공통 처리를 정의할 수 있어요. visitUnknown은 기본적으로 UnknownTypeException을 던져요. Since: 1.6.