in validation/src/main/scala/com/twitter/finatra/validation/constraints/MinConstraintValidator.scala [21:37]
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}")
}