override def validateRecord()

in elitzur-core/src/main/scala/com/spotify/elitzur/validators/DynamicRecordValidator.scala [28:52]


  override def validateRecord(a: PreValidation[Seq[Any]],
                              path: String = "",
                              outermostClassName: Option[String] = None,
                              config: ValidationRecordConfig = DefaultRecordConfig)
  : PostValidation[Seq[Any]] = {
    val ps = a.forceGet.toArray
    val as = new Array[ValidatorAccessor[Any]](ps.length)
    var i = 0

    while (i < ps.length) {
      val value = ps(i)
      as.update(i, ValidatorAccessor(validators(i), value, labels(i))
        .asInstanceOf[ValidatorAccessor[Any]])
      i = i + 1
    }

    Validator.validationLoop(
      as,
      identity[Seq[Any]],
      outermostClassName.getOrElse(
        throw new Exception("A class name is required for Metrics Reporting")),
      path,
      config
    )
  }