AnnotationValue — 어노테이션 값 인터페이스

AnnotationValue — 어노테이션 값 인터페이스

AnnotationValue는 어노테이션 인터페이스 요소(element)의 값 하나를 나타내는 인터페이스예요. 어노테이션에 지정된 값은 다음 타입 중 하나예요.

  • 프리미티브 타입의 래퍼 클래스(예: Integer)
  • String
  • TypeMirror
  • VariableElement(열거 상수)
  • AnnotationMirror
  • List<? extends AnnotationValue>(값이 배열이면 선언 순서대로 요소들)

이 값들은 AnnotationMirror.getElementValues()나 어노테이션 처리 중 얻을 수 있으며, 방문자 패턴으로 조회할 수 있어요.

출처: Java API Reference

본문

선언은 다음과 같아요.

public interface AnnotationValue

주요 메서드는 다음과 같아요.

Modifier and Type Method 설명
<R, P> R accept(AnnotationValueVisitor<R,P> v, P p) 이 값에 방문자(visitor)를 적용해요.
Object getValue() 값을 반환해요.
String toString() 이 값의 문자열 표현을 반환해요.
  • getValue()가 반환하는 객체의 런타임 타입은 위에서 나열한 값 타입 중 하나예요. 예: int 값이면 Integer, 문자열이면 String, 타입이면 TypeMirror 구현체.
  • accept(...)는 값의 타입에 따라 적절한 visitXyz 메서드로 디스패치해요. 이걸로 컴파일 시점에 값의 타입을 모를 때도 안전하게 처리할 수 있어요.

Since: 1.6.

더 알아보기 (Learn more)

Java 공식 API