diff --git a/src/de/steamwar/command/AbstractSWCommand.java b/src/de/steamwar/command/AbstractSWCommand.java index 5f3da93..16b764c 100644 --- a/src/de/steamwar/command/AbstractSWCommand.java +++ b/src/de/steamwar/command/AbstractSWCommand.java @@ -236,22 +236,23 @@ public abstract class AbstractSWCommand { }); } - private void addGuard(Class annotation, Method method, IntPredicate parameterTester, boolean firstParameter, Class returnType, BiConsumer> consumer) { + private void addValidator(Class annotation, Method method, IntPredicate parameterTester, boolean firstParameter, Class returnType, BiConsumer> consumer) { add(annotation, method, parameterTester, firstParameter, returnType, (anno, parameters) -> { try { method.setAccessible(true); - consumer.accept(anno, (AbstractGuardChecker) method.invoke(this)); + consumer.accept(anno, (AbstractValidator) method.invoke(this)); } catch (Exception e) { throw new SecurityException(e.getMessage(), e); } }); } - private void addValidator(Class annotation, Method method, IntPredicate parameterTester, boolean firstParameter, Class returnType, BiConsumer> consumer) { + @Deprecated + private void addGuard(Class annotation, Method method, IntPredicate parameterTester, boolean firstParameter, Class returnType, BiConsumer> consumer) { add(annotation, method, parameterTester, firstParameter, returnType, (anno, parameters) -> { try { method.setAccessible(true); - consumer.accept(anno, (AbstractValidator) method.invoke(this)); + consumer.accept(anno, (AbstractGuardChecker) method.invoke(this)); } catch (Exception e) { throw new SecurityException(e.getMessage(), e); } diff --git a/src/de/steamwar/command/SWCommandUtils.java b/src/de/steamwar/command/SWCommandUtils.java index a3ee3de..4756630 100644 --- a/src/de/steamwar/command/SWCommandUtils.java +++ b/src/de/steamwar/command/SWCommandUtils.java @@ -207,6 +207,7 @@ public class SWCommandUtils { return validator; } + @Deprecated public static AbstractGuardChecker getGuardChecker(Parameter parameter, Map> localGuardChecker) { Class clazz = parameter.getType(); if (parameter.isVarArgs()) { @@ -231,6 +232,7 @@ public class SWCommandUtils { return null; } + @Deprecated private static AbstractGuardChecker getGuardChecker(String s, Map> localGuardChecker) { AbstractGuardChecker guardChecker = localGuardChecker.getOrDefault(s, (AbstractGuardChecker) GUARD_FUNCTIONS.getOrDefault(s, null)); if (guardChecker == null) { @@ -247,10 +249,20 @@ public class SWCommandUtils { MAPPER_FUNCTIONS.putIfAbsent(name, mapper); } + public static void addValidator(Class clazz, AbstractValidator validator) { + addValidator(clazz.getTypeName(), validator); + } + + public static void addValidator(String name, AbstractValidator validator) { + VALIDATOR_FUNCTIONS.putIfAbsent(name, validator); + } + + @Deprecated public static void addGuard(Class clazz, AbstractGuardChecker guardChecker) { addGuard(clazz.getTypeName(), guardChecker); } + @Deprecated public static void addGuard(String name, AbstractGuardChecker guardChecker) { GUARD_FUNCTIONS.putIfAbsent(name, guardChecker); }