Использование дженериков в аргументах исключения

Я пытаюсь сохранить коллекцию универсальных объектов в Exception , и у меня проблемы с определением универсальных объектов. В частности, я m с помощью Hibernate Validator и хотел бы сохранить собранный список нарушений в исключении для обработки на другом уровне приложения. Вот пример:

Set<ConstraintViolation<User>> violations = validator.validate(user);
if (violations.size() > 0) {
    throw new ValidationException("User details are invalid", violations);
}

В Eclipse строка throws показывает конструктор undefined и предлагает изменить подпись конструктора на ValidationException (String, Set > . Здесь ValidationException:

public class ValidationException extends Exception {
    private Set<ConstraintViolation<?>> violations;

    public ValidationException() {
    }
    public ValidationException(String msg) {
        super(msg);
    }
    public ValidationException(String msg, Throwable cause) {
        super(msg, cause);
    }
    public ValidationException(String msg, Set<ConstraintViolation<?>> violations) {
        super(msg);
        this.violations = violations;
    }
    public Set<ConstraintViolation<?>> getViolations() {
        return violations;
    }
}

Однако я хочу оставить ValidationException общим, чтобы я мог использовать его не только для проверки User . Я пробовал Set > , но получаю те же результаты.

Есть ли способ добиться того, что я ' м пытаюсь сделать?

10
задан Tauren 14 February 2011 в 13:13
поделиться