in validation/src/main/scala/com/twitter/finatra/validation/constraints/RangeConstraintValidator.scala [28:54]
override def isValid(
obj: Any,
constraintValidatorContext: ConstraintValidatorContext
): Boolean = {
assertValidRange(minValue, maxValue)
val valid = obj match {
case bigDecimalValue: BigDecimal =>
validationResult(bigDecimalValue, minValue, maxValue)
case bigIntValue: BigInt =>
validationResult(bigIntValue, minValue, maxValue)
case numberValue: Number =>
validationResult(numberValue, minValue, maxValue)
case _ =>
throw new UnexpectedTypeException(
s"Class [${obj.getClass.getName}] is not supported by ${this.getClass.getName}")
}
if (!valid) {
TwitterConstraintValidatorContext
.withDynamicPayload(
ErrorCode
.ValueOutOfRange(java.lang.Double.valueOf(obj.toString), minValue, maxValue))
.withMessageTemplate(s"[${obj.toString}] is not between $minValue and $maxValue")
.addConstraintViolation(constraintValidatorContext)
}
valid
}