Каков лучший способ получить параметр аннотации в методе?
Вешаю аннотацию, что бы указать методу запрос который он должен выполнить к БД. Аннотация такая:
@Retention(RUNTIME)
@Target(METHOD)
public @interface Query {
public String value() default "";
}
Написал класс обработчик для этой аннотации, что бы получать её value:
public class QueryAnnotationHandler {
public String getValue(String methodName, Class<?> clazz) {
Method[] methods = clazz.getMethods();
String value = "";
for (Method method : methods) {
if(method.getName().equals(methodName)) {
value = method.getAnnotation(Query.class).value();
}
}
return value;
}
}
И, собственно, в методе получаю значение таким образом :
String s = queryAnnotationHandler.getValue(Thread.currentThread().getStackTrace()[1].getMethodName(), this.getClass());
Нужно задавать query именно через аннотацию. Есть ли вариант получить данные аннотации более удобным способом?