SupportedSourceVersion — 지원 소스 버전 지정 애너테이션
SupportedSourceVersion — 지원 소스 버전 지정 애너테이션
@SupportedSourceVersion는 어노테이션 프로세서가 지원하는 최신 소스 버전을 나타내는 데 쓰는 애너테이션이에요. Processor.getSupportedSourceVersion() 메서드는 AbstractProcessor.getSupportedSourceVersion()이 하듯이 이 애너테이션의 값으로부터 결과를 구성할 수 있어요.
이 애너테이션을 통해 프로세서가 다룰 수 있는 최신 자바 소스 버전을 선언하면, 도구가 그보다 높은 버전의 소스를 만났을 때 프로세서를 실행하지 않는 등의 판단을 할 수 있어요.
본문
선언은 다음과 같아요.
@Documented
@Target(TYPE)
@Retention(RUNTIME)
public @interface SupportedSourceVersion
요소로는 SourceVersion value()가 있어요. 지원하는 최신 소스 버전을 SourceVersion 열거값으로 지정해요. 예를 들어:
@SupportedSourceVersion(SourceVersion.RELEASE_21)
public class MyProcessor extends AbstractProcessor {
// ...
}
@Target(TYPE): 타입(클래스·인터페이스) 선언에만 적용할 수 있어요.@Retention(RUNTIME): 런타임까지 유지되며 리플렉션으로 읽을 수 있어요.@Documented:javadoc에 포함돼요.
SourceVersion 값은 RELEASE_6부터 RELEASE_21까지를 포함한 자바 릴리스 버전을 나타내요. Since: 1.6.