I have 1 interface, 1 abstract class and 1 concrete class. The annotation @Handler
is used in two methods in the interface and abstract class:
public interface A<T> {
@Handler
void a(T data);
}
public abstract class B<V> implements A<Integer> {
@Override
void a(Integer data) {
// implementation
}
@Handler
public abstract void b(V data);
}
public abstract class C extends B<String> {
@Override
void b(String data) {
// implementation
}
}
I'd like to retrieve all concrete methods that are decorated with @Handler
from C
(including superclasses), i.e. B.a(Integer)
and C.b(String)
, along with the method parameters Integer
and String
.
I tried using Apache Commons Lang's MethodUtils.getMethodsListWithAnnotation()
, but it could only find the abstract methods (where the annotations are actually placed) without parameters' info:
A.a(java.lang.Object)
B.b(java.lang.Object)
Is it possible to retrieve the concrete methods from the abstract ones?
Aucun commentaire:
Enregistrer un commentaire