Improve `DelegateActionManager` error handling for invalid handlers
- Add validation to ensure classes annotated with `@Action` implement `ActionHandler`, throwing `IllegalArgumentException` for mismatches. - Fix minor formatting issue in `@Action` annotation for `GetGenreByIdHandler`.
This commit is contained in:
parent
a5bd6e2c39
commit
5ce8f4ca2a
|
|
@ -66,14 +66,17 @@ public class DelegateActionManager {
|
|||
|
||||
@SuppressWarnings("unchecked")
|
||||
private ActionHandler instantiateHandler(Class<?> clazz) throws Exception {
|
||||
if(!ActionHandler.class.isAssignableFrom(clazz)){
|
||||
throw new IllegalArgumentException(
|
||||
clazz.getName() + " is annotated with @Action but does not implement ActionHandler");
|
||||
|
||||
}
|
||||
logger.debug("Attempting to instantiate handler: {}", clazz.getSimpleName());
|
||||
|
||||
|
||||
Constructor<?>[] constructors = clazz.getDeclaredConstructors();
|
||||
|
||||
|
||||
Constructor<?>[] constructors = clazz.getDeclaredConstructors();
|
||||
|
||||
// Sort constructors by parameter count (descending) to prefer DI constructors
|
||||
java.util.Arrays.sort(constructors, (c1, c2) ->
|
||||
Integer.compare(c2.getParameterCount(), c1.getParameterCount()));
|
||||
|
|
|
|||
Loading…
Reference in New Issue