I am trying to do this, I have some "base" annotation
@Retention(RetentionPolicy.RUNTIME) @Target({ElementType.ANNOTATION_TYPE}) public @interface A { } and I have annotaion B which is annotated by A
@A @Retention(RetentionPolicy.RUNTIME) @Target({ ElementType.METHOD }) public @interface B { String value(); } I want to have interface which behaves something like this, being sure that T is annotation which is annotated by A.
interface SomeInterface<T extends A> { void method(T argument); } So that I implement that something like this
public class Implementation implements SomeInterface<B> { public void method(B argument); } How to do that? When I use "T extends A" in SomeInterface, when I implement that, it says that B is not a valid substitue.
Thanks!