Итак, мы хотим разрешить пользователям выполнять миграцию вручную. Для этого объект модели должен находиться в определенном состоянии. Я не хочу автоматически проверять каждый экземпляр этого класса или действительно любой экземпляр этого класса. Я знаю, как вызвать валидатор вручную (как правило), но мне интересно, могу ли я выполнить валидатор без этих аннотаций в модели? Я просто хотел бы выполнить произвольный код проверки для модели. Причина желания использовать API-интерфейс проверки заключается в том, что он собирает нарушения ограничений.
например что-то вроде этого
class ValidForMigration implements ConstraintViolation<MyModel> {
boolean isValid( MyModel model ) {
if ( model.getFoo() == null ) { return false; }
return true;
}
}
MySvc {
...
void doMigrate(... ) {
validator.validate( myModel, new ValidForMigration() )
}
}