SupportedOptions — 지원 옵션 지정 애너테이션
SupportedOptions — 지원 옵션 지정 애너테이션
@SupportedOptions는 어노테이션 프로세서가 어떤 옵션을 지원하는지를 나타내는 데 쓰는 애너테이션이에요. Processor.getSupportedOptions() 메서드는 AbstractProcessor.getSupportedOptions()가 하듯이 이 애너테이션의 값으로부터 결과를 구성할 수 있어요. 값으로는 문법에 맞는 문자열만 사용해야 해요.
이 애너테이션으로 프로세서가 인식하는 옵션 이름을 선언하면, 도구가 처리 명령줄에서 그 옵션들을 프로세서에 전달할 수 있어요.
본문
선언은 다음과 같아요.
@Documented
@Target(TYPE)
@Retention(RUNTIME)
public @interface SupportedOptions
요소로는 문자열 배열 String[] value()가 있어요. 지원하는 옵션 이름을 문자열로 나열해요. 예를 들어:
@SupportedOptions("debug")
public class MyProcessor extends AbstractProcessor {
// ...
}
@Target(TYPE): 타입(클래스·인터페이스) 선언에만 적용할 수 있어요.@Retention(RUNTIME): 런타임까지 유지되며 리플렉션으로 읽을 수 있어요.@Documented:javadoc에 포함돼요.
프로세서가 인식하는 옵션은 ProcessingEnvironment.getOptions()를 통해 조회할 수 있어요. Since: 1.6.