in validation/src/main/scala/com/twitter/finatra/validation/constraints/MaxConstraintValidator.scala [21:42]
override def isValid(
obj: Any,
constraintValidatorContext: ConstraintValidatorContext
): Boolean = obj match {
case arrayValue: Array[_] =>
isValid(arrayValue.length, constraintValidatorContext)
case mapValue: Map[_, _] =>
isValid(mapValue.size, constraintValidatorContext)
case traversableValue: Iterable[_] =>
isValid(traversableValue.size, constraintValidatorContext)
case iterableWrapper: java.util.Collection[_] =>
isValid(iterableWrapper.size(), constraintValidatorContext)
case bigDecimalValue: BigDecimal =>
isValid(bigDecimalValue, constraintValidatorContext)
case bigIntValue: BigInt =>
isValid(bigIntValue, constraintValidatorContext)
case numberValue: Number =>
isValid(numberValue, constraintValidatorContext)
case _ =>
throw new UnexpectedTypeException(
s"Class [${obj.getClass.getName}] is not supported by ${this.getClass.getName}")
}