in validation/src/main/scala/com/twitter/finatra/validation/constraints/MaxConstraintValidator.scala [46:95]
private[this] def isValid(
value: BigDecimal,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
value <= BigDecimal(this.maxValue),
value.toString,
value.longValue,
constraintValidatorContext)
private[this] def isValid(
value: BigInt,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
value <= BigInt(this.maxValue),
value.toString,
value.longValue,
constraintValidatorContext)
private[this] def isValid(
value: Number,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(
value.doubleValue <= this.maxValue,
value.toString,
value.longValue,
constraintValidatorContext)
private[this] def isValid(
value: Int,
constraintValidatorContext: ConstraintValidatorContext
): Boolean =
handleInvalid(value <= this.maxValue, value.toString, value.toLong, constraintValidatorContext)
private[this] def handleInvalid(
valid: => Boolean,
value: String,
valueAsLong: Long,
constraintValidatorContext: ConstraintValidatorContext
): Boolean = {
if (!valid) {
TwitterConstraintValidatorContext
.withDynamicPayload(ErrorCode.ValueTooLarge(maxValue, valueAsLong))
.withMessageTemplate(s"[$value] is not less than or equal to $maxValue")
.addConstraintViolation(constraintValidatorContext)
}
valid
}