SupportedSourceVersion — 지원 소스 버전 지정 애너테이션

SupportedSourceVersion — 지원 소스 버전 지정 애너테이션

@SupportedSourceVersion는 어노테이션 프로세서가 지원하는 최신 소스 버전을 나타내는 데 쓰는 애너테이션이에요. Processor.getSupportedSourceVersion() 메서드는 AbstractProcessor.getSupportedSourceVersion()이 하듯이 이 애너테이션의 값으로부터 결과를 구성할 수 있어요.

이 애너테이션을 통해 프로세서가 다룰 수 있는 최신 자바 소스 버전을 선언하면, 도구가 그보다 높은 버전의 소스를 만났을 때 프로세서를 실행하지 않는 등의 판단을 할 수 있어요.

출처: Java API Reference

본문

선언은 다음과 같아요.

@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.

더 알아보기 (Learn more)

Java 공식 API