AbstractAnnotationValueVisitor14 — 어노테이션 값 추상 방문자
AbstractAnnotationValueVisitor14 — 어노테이션 값 추상 방문자 (RELEASE_14)
AbstractAnnotationValueVisitor14<R, P>는 RELEASE_14 소스 버전에 적합한 기본 동작을 갖는 어노테이션 값의 골격 방문자(skeletal visitor)예요. 이 클래스의 visitXyz 메서드들은 모두 defaultAction을 호출해요.
AbstractAnnotationValueVisitor6을 세부 구현의 시작점으로 삼되, 이 14 변형은 소스 버전 14를 대상으로 표기돼요. 어노테이션 값 종류는 RELEASE_6 이후 추가된 것이 없어서 실질 동작은 6~14 변형이 거의 같아요. 직접 AnnotationValueVisitor를 구현하는 대신 이 추상 클래스를 확장하면 미래 언어 구조 추가로 인한 소스 비호환을 피할 수 있어요.
본문
선언은 다음과 같아요.
public abstract class AbstractAnnotationValueVisitor14<R,P>
extends AbstractAnnotationValueVisitor9<R,P>
보호된 생성자:
protected AbstractAnnotationValueVisitor14()
이 클래스는 다음 방문 메서드를 defaultAction을 호출하도록 구현해요.
R visitAnnotation(AnnotationMirror a, P p) // 어노테이션 값
R visitArray(List<? extends AnnotationValue> vals, P p)
R visitBoolean(boolean b, P p)
R visitByte(byte b, P p)
R visitChar(char c, P p)
R visitDouble(double d, P p)
R visitEnumConstant(VariableElement c, P p)
R visitFloat(float f, P p)
R visitInt(int i, P p)
R visitLong(long i, P p)
R visitShort(short s, P p)
R visitString(String s, P p)
R visitType(TypeMirror t, P p)
또한 보호된 기본 동작 메서드가 있어요.
protected R defaultAction(AnnotationValue e, P p)
defaultAction은 기본적으로 visitUnknown을 호출해요. 서브클래스는 이 메서드를 오버라이드해 각 방문의 공통 처리를 정의할 수 있어요.