* the {@code InvocationContext} in which the method is being called
* @return the resource defined in {@code @RequiredPermission} annotation, the name defined in {@code @Name}
* annotation or the class name itself
*/
private String getResource(InvocationContext ic) {
RequiredPermission requiredPermission = ic.getMethod().getAnnotation(RequiredPermission.class);
if (requiredPermission == null || Strings.isEmpty(requiredPermission.resource())) {
if (ic.getTarget().getClass().getAnnotation(Name.class) == null) {
return ic.getTarget().getClass().getSimpleName();
} else {
return ic.getTarget().getClass().getAnnotation(Name.class).value();
}
} else {
return requiredPermission.resource();
}
}