use of jakarta.validation.constraints.Digits in project hibernate-orm by hibernate.
the class TypeSafeActivator method applyDigits.
private static void applyDigits(Property property, ConstraintDescriptor<?> descriptor) {
if (Digits.class.equals(descriptor.getAnnotation().annotationType())) {
@SuppressWarnings("unchecked") ConstraintDescriptor<Digits> digitsConstraint = (ConstraintDescriptor<Digits>) descriptor;
int integerDigits = digitsConstraint.getAnnotation().integer();
int fractionalDigits = digitsConstraint.getAnnotation().fraction();
for (Selectable selectable : property.getSelectables()) {
if (selectable instanceof Column) {
Column col = (Column) selectable;
col.setPrecision(integerDigits + fractionalDigits);
col.setScale(fractionalDigits);
}
}
}
}
use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.
the class DigitsValidatorForCharSequenceTest method testNegativeFractionLength.
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNegativeFractionLength() {
descriptorBuilder.setAttribute("integer", 1);
descriptorBuilder.setAttribute("fraction", -1);
Digits p = descriptorBuilder.build().getAnnotation();
DigitsValidatorForCharSequence constraint = new DigitsValidatorForCharSequence();
constraint.initialize(p);
}
use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.
the class DigitsValidatorForNumberTest method testNegativeFractionLength.
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNegativeFractionLength() {
descriptorBuilder.setAttribute("integer", 1);
descriptorBuilder.setAttribute("fraction", -1);
Digits p = descriptorBuilder.build().getAnnotation();
DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
constraint.initialize(p);
}
use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.
the class DigitsValidatorForNumberTest method testNegativeIntegerLength.
@Test(expectedExceptions = IllegalArgumentException.class)
public void testNegativeIntegerLength() {
descriptorBuilder.setAttribute("integer", -1);
descriptorBuilder.setAttribute("fraction", 1);
Digits p = descriptorBuilder.build().getAnnotation();
DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
constraint.initialize(p);
}
use of jakarta.validation.constraints.Digits in project hibernate-validator by hibernate.
the class DigitsValidatorForNumberTest method testIsValid.
@Test
public void testIsValid() {
descriptorBuilder.setAttribute("integer", 5);
descriptorBuilder.setAttribute("fraction", 2);
Digits p = descriptorBuilder.build().getAnnotation();
DigitsValidatorForNumber constraint = new DigitsValidatorForNumber();
constraint.initialize(p);
assertTrue(constraint.isValid(null, null));
assertTrue(constraint.isValid(Byte.valueOf("0"), null));
assertTrue(constraint.isValid(Double.valueOf("500.2"), null));
assertTrue(constraint.isValid(new BigDecimal("-12345.12"), null));
assertFalse(constraint.isValid(new BigDecimal("-123456.12"), null));
assertFalse(constraint.isValid(new BigDecimal("-123456.123"), null));
assertFalse(constraint.isValid(new BigDecimal("-12345.123"), null));
assertFalse(constraint.isValid(new BigDecimal("12345.123"), null));
assertTrue(constraint.isValid(Float.valueOf("-000000000.22"), null));
assertFalse(constraint.isValid(Integer.valueOf("256874"), null));
assertFalse(constraint.isValid(Double.valueOf("12.0001"), null));
}
Aggregations