@Override public <A extends Action<R>, R extends Result> void addActionHandlerValidator(Class<A> actionClass, ActionHandlerValidatorInstance actionHandlerValidatorInstance) { actionHandlerValidatorInstances.put(actionClass, actionHandlerValidatorInstance); validators.put(actionHandlerValidatorInstance.getActionValidator().getClass(), actionHandlerValidatorInstance.getActionValidator()); }
private ActionHandlerValidatorInstance createInstance( ActionHandlerValidatorClass<? extends Action<?>, ? extends Result> actionHandlerValidatorClass) { ActionHandlerValidatorInstance actionHandlerValidatorInstance = null; ActionValidator actionValidator = findActionValidator(actionHandlerValidatorClass.getActionValidatorClass()); if (actionValidator == null) { actionValidator = injector.getInstance(actionHandlerValidatorClass.getActionValidatorClass()); actionHandlerValidatorInstance = new ActionHandlerValidatorInstance( actionValidator, injector.getInstance(actionHandlerValidatorClass.getActionHandlerClass())); validators.put(actionValidator.getClass(), actionValidator); } else { actionHandlerValidatorInstance = new ActionHandlerValidatorInstance( actionValidator, injector.getInstance(actionHandlerValidatorClass.getActionHandlerClass())); } if (actionHandlerValidatorInstance.getActionHandler() == null || actionHandlerValidatorInstance.getActionValidator() == null) { return null; } return actionHandlerValidatorInstance; } }
@SuppressWarnings("unchecked") private <A extends Action<R>, R extends Result> ActionHandler<A, R> findHandler(A action) throws UnsupportedActionException { ActionHandlerValidatorInstance handlerValidator = actionHandlerValidatorRegistry.findActionHandlerValidator(action); if (handlerValidator == null) { throw new UnsupportedActionException(action); } return (ActionHandler<A, R>) handlerValidator.getActionHandler(); } }
actionHandlerValidatorInstance = new ActionHandlerValidatorInstance(actionValidator, beanProvider.getInstance(handlerClass));
private ActionHandlerValidatorInstance createInstance(ActionHandlerValidatorClass<? extends Action<?>, ? extends Result> actionHandlerValidatorClass) { ActionHandlerValidatorInstance actionHandlerValidatorInstance = null; ActionValidator actionValidator = findActionValidator(actionHandlerValidatorClass.getActionValidatorClass()); ActionHandler<?, ?> actionHandler = SpringUtils.getInstance(applicationContext, actionHandlerValidatorClass.getActionHandlerClass()); if (actionValidator == null) { actionValidator = SpringUtils.getInstance(applicationContext, actionHandlerValidatorClass.getActionValidatorClass()); actionHandlerValidatorInstance = new ActionHandlerValidatorInstance(actionValidator, actionHandler); validators.put(actionValidator.getClass(), actionValidator); } else { actionHandlerValidatorInstance = new ActionHandlerValidatorInstance(actionValidator, actionHandler); } if (actionHandlerValidatorInstance.getActionHandler() == null || actionHandlerValidatorInstance.getActionValidator() == null) { return null; } return actionHandlerValidatorInstance; }
private boolean containValidator(ActionValidator actionValidator) { for (ActionHandlerValidatorInstance validator : actionHandlerValidatorInstances.values()) { if (validator.getActionValidator().getClass().equals( actionValidator.getClass())) { return true; } } return false; }
private boolean containValidator(ActionValidator actionValidator) { for (ActionHandlerValidatorInstance validator : actionHandlerValidatorInstances.values()) { if (validator.getActionValidator().getClass().equals(actionValidator.getClass())) { return true; } } return false; }
private boolean containValidator(ActionValidator actionValidator) { for (ActionHandlerValidatorInstance validator : actionHandlerValidatorInstances.values()) { if (validator.getActionValidator().getClass().equals(actionValidator.getClass())) { return true; } } return false; } }
@Override public <A extends Action<R>, R extends Result> void removeActionHandlerValidatorClass(Class<A> actionClass, ActionHandlerValidatorClass<A, R> actionHandlerValidatorClass) { ActionHandlerValidatorClass<?, ?> oldActionHandlerValidatorClass = actionHandlerValidatorClasses.get( actionClass); if (oldActionHandlerValidatorClass == actionHandlerValidatorClass) { actionHandlerValidatorClasses.remove(actionClass); ActionHandlerValidatorInstance instance = actionHandlerValidatorInstances.remove(actionClass); if (!containValidator(instance.getActionValidator())) { validators.remove(instance.getActionValidator().getClass()); } } }
@Override public <A extends Action<R>, R extends Result> boolean removeActionHandlerValidator(Class<A> actionClass) { ActionHandlerValidatorInstance instance = actionHandlerValidatorInstances.remove(actionClass); if (instance != null) { if (!containValidator(instance.getActionValidator())) { return validators.remove(instance.getActionValidator().getClass()) != null; } } else { return false; } return actionHandlerValidatorInstances.remove(actionClass) != null; }
@Override public <A extends Action<R>, R extends Result> void removeActionHandlerValidatorClass( Class<A> actionClass, ActionHandlerValidatorClass<A, R> actionHandlerValidatorClass) { ActionHandlerValidatorClass<?, ?> oldActionHandlerValidatorClass = actionHandlerValidatorClasses.get( actionClass); if (oldActionHandlerValidatorClass == actionHandlerValidatorClass) { actionHandlerValidatorClasses.remove(actionClass); ActionHandlerValidatorInstance instance = actionHandlerValidatorInstances.remove(actionClass); if (!containValidator(instance.getActionValidator())) { validators.remove(instance.getActionValidator().getClass()); } } }
private <A extends Action<R>, R extends Result> ActionValidator findActionValidator(A action) throws UnsupportedActionException { ActionHandlerValidatorInstance handlerValidator = actionHandlerValidatorRegistry.findActionHandlerValidator(action); if (handlerValidator == null) { throw new UnsupportedActionException(action); } return handlerValidator.getActionValidator(); }