ElementKindVisitor7 — 요소 종류에 따른 방문자
ElementKindVisitor7 — 요소 종류에 따른 방문자 (RELEASE_7)
ElementKindVisitor7은 ElementKindVisitor6의 후속 버전으로, 요소의 종류에 따라 방문 동작을 나눠 처리하는 클래스예요. RELEASE_7 소스 버전에 맞는 기본 동작을 제공해요.
요소 Xyz가 여러 종류가 될 수 있다면, visitXyz 메서드는 인자 요소의 실제 종류에 맞는 visitXyzAsKind 메서드로 위임해요. visitXyzAsKind 메서드들은 받은 인자를 defaultAction에 그대로 전달하죠.
본문
클래스 선언은 다음과 같아요.
public class ElementKindVisitor7<R,P>
extends SimpleElementVisitor7<R,P>
R은 방문 메서드의 반환 타입, P는 방문 시 넘기는 추가 파라미터 타입이에요.
이 클래스는 RELEASE_7 및 그 이전 언어 구조를 다루는 방문 메서드를 구현해요. 자바 7까지 존재했던 요소 종류를 기준으로 동작하죠.
제공되는 방문 메서드들은 다음과 같이 요소 종류별로 나뉘어요.
- 타입 요소:
visitTypeAsClass,visitTypeAsInterface,visitTypeAsEnum,visitTypeAsAnnotationType등. - 변수 요소:
visitVariableAsField,visitVariableAsParameter,visitVariableAsLocalVariable,visitVariableAsExceptionParameter. - 실행 요소:
visitExecutableAsMethod,visitExecutableAsConstructor.
기본 동작은 defaultAction 호출이며, 필요한 종류만 오버라이드해서 쓰는 것이 일반적인 사용법이에요. javax.lang.model.util 패키지에 속해요.