override def isValid()

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
  }