null로 주석을 기본으로 지정할 수 있습니까?주석 기본값 "null"값
내가 달성하고 싶은 것은 선택적 주석 속성과 같은 것입니다. 예를 들어
public @interface Foo {
Config value();
}
public @interface Config {
boolean ignoreUnknown() default false;
int steps() default 2;
}
내가 @foo를 사용하고 싶습니다 (값을 지정하지 않고, 그래서 선택의 어떤 종류이어야 함) 나는이 같은 것을 쓸 수 있도록하고 싶습니다 :
@Foo (
@Config(
ignoreUnknown = true,
steps = 10
)
)
특수 효과를 사용하여 이와 같은 작업을 수행 할 수 있습니까?
나는이 공공 @interface 푸 {같은 것을하고 싶지 않아
boolean ignoreUnknown() default false;
int steps() default 2;
}
나는 속성이 설정 여부 (그리고 그것이을 가지고 있지 않은 경우되었는지 여부를 구별 할 수 있기를 원하기 때문에 기본값 또는하지 않음).
설명하기가 조금 복잡하지만 Java 코드를 생성하는 Annotation Processor를 사용하고 있습니다. 그러나 런타임에 @Config를 사용하여 자체 구성을 설정 한 사람들을 제외하고 모든 @Foo에 사용해야하는 기본 구성을 설치하고 싶습니다.
그래서 내가 원하는이 같은 것입니다 :
public @interface Foo {
Config value() default null;
}
그러나 지금까지의 내가 바로 그 불가능을 알고? 아무도 그러한 선택적 속성에 대한 해결책을 알고 있습니까?
가능한 중복 http://stackoverflow.com/questions/1178104/error-setting-a-default- null-value-for-annotations-field) – fracz