private[this] def isValid()

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
  }