SimpleTypeVisitor6 — 타입 방문자

SimpleTypeVisitor6 — 타입 방문자 (RELEASE_6)

SimpleTypeVisitor6은 타입을 방문하는 간단한(simple) 방문자 클래스예요. RELEASE_6 소스 버전에 맞는 기본 동작을 제공해요. RELEASE_6 및 그 이전 언어 구조에 해당하는 타입 방문 메서드들은 defaultAction을 호출하고, RELEASE_7 이후에 도입된 구조는 visitUnknown을 호출해요.

간단한 방문자는 방문 메서드의 기본 동작이 defaultAction 하나로 통일되어 있어서, 관심 있는 타입만 오버라이드하면 된다는 점이 특징이에요.

출처: Java API Reference

본문

클래스 선언은 다음과 같아요.

public class SimpleTypeVisitor6<R,P>
extends Object
implements TypeVisitor<R,P>

R은 방문 결과의 반환 타입, P는 추가 파라미터 타입이에요.

이 클래스는 타입 종류별로 다음과 같은 방문 메서드를 제공해요.

  • visitPrimitive, visitArray, visitDeclared, visitError — 기본 타입 계열.
  • visitTypeVariable, visitWildcard, visitExecutable — 제네릭 계열.
  • visitNoTypevoid 같은 빈 타입.

기본 동작은 defaultAction(TypeMirror, P) 호출이에요. defaultActionRuntimeException을 throw하도록 되어 있어, 처리하지 않을 타입은 그대로 예외를 던지거나 오버라이드해서 바꿀 수 있어요.

RELEASE_6 기준이라 최신 타입 구조를 만나면 visitUnknown으로 처리돼요. 최신 버전을 대상으로 하면 SimpleTypeVisitor7/8/9/14를 쓰는 게 좋아요. javax.lang.model.util 패키지에 속해요.

더 알아보기 (Learn more)