package org.jboss.resteasy.test.validation.resource; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import javax.validation.constraintvalidation.SupportedValidationTarget; import javax.validation.constraintvalidation.ValidationTarget; @SupportedValidationTarget(ValidationTarget.PARAMETERS) public class ValidationComplexCrossParameterValidator implements ConstraintValidator<ValidationComplexCrossParameterConstraint, Object[]> { private ValidationComplexCrossParameterConstraint constraintAnnotation; @Override public void initialize(ValidationComplexCrossParameterConstraint constraintAnnotation) { this.constraintAnnotation = constraintAnnotation; } @Override public boolean isValid(Object[] value, ConstraintValidatorContext context) { int sum = 0; for (int i = 0; i < value.length; i++) { if (!(value[i] instanceof Integer)) { return false; } sum += Integer.class.cast(value[i]); } return sum <= constraintAnnotation.value(); } }