Доброго времени суток. Есть такой валидатор:
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.ValidatorFactory;
import java.util.Set;
public class ValueValidator
{
public <T> ValueValidator( T object, String property, Object value )
{
try {
ValidatorFactory factory = Validation.buildDefaultValidatorFactory();
javax.validation.Validator validator = factory.getValidator();
/* marked */ Set<ConstraintViolation<T>> constraintViolations = validator.validateValue( object.getClass(), property, value ); /* marked */
for( ConstraintViolation<T> cv : constraintViolations ) {
System.out.println( String.format(
"Внимание, ошибка! property: [%s], value: [%s], message: [%s]",
cv.getPropertyPath(), cv.getInvalidValue(), cv.getMessage() ) );
}
} catch( Exception e ) {
e.printStackTrace();
}
}
}
Пример вызова:
new ValueValidator( new ValueDemoClass(), "firstname", "John" );
Помеченная строка никак у меня никак не уживается. IDEA возникает по поводу несоответствия типов. Если начинаю насильно приводить типы, возникают ошибки выполнения. Что делать в данной ситуации? Спасибо