Можно ли условно применить аннотацию в аннотации? - PullRequest
0 голосов
/ 18 января 2019

Я пытаюсь сделать что-то вроде следующего:

@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
public @interface AnnotationOne {
    boolean annotationTwoToggler() default false

    {
        if (annotationTwoToggler) {
            // Apply annotation AnnotationTwo to calling type
        }
    }
}

Пример того, как я мог бы использовать это:

@AnnotationOne(true) // Implies AnnotationTwo
public class MyClass { ... }

AnnotationTwo и его реализации находятся в API, который я использую, и не могут быть изменены. Я хочу, чтобы все реализации AnnotationTwo инициировали заданный параметр true для AnnotationOne.

Как я могу это сделать?

...