/** * Retrieve annotation for the controller class * * @param clazz * The annotation class * @param <T> * The class type * @return Annotation object or null if not found */ protected static <T extends Annotation> T getControllerAnnotation(Class<T> clazz) { if (getControllerClass().isAnnotationPresent(clazz)) { return getControllerClass().getAnnotation(clazz); } return null; }
/** * Retrieve annotation for the controller class * * @param clazz * The annotation class * @param <T> * The class type * @return Annotation object or null if not found */ protected static <T extends Annotation> T getControllerInheritedAnnotation(Class<T> clazz) { Class<?> c = getControllerClass(); while (!c.equals(Object.class)) { if (c.isAnnotationPresent(clazz)) { return c.getAnnotation(clazz); } c = c.getSuperclass(); } return null; }