Использование платформы Univocity для выполнения пользовательских требований к синтаксическому анализу. у нас есть итератор, выводящий каждую строку как событие, вызывая parseNext(), мы не хотим использовать "parse(File file)" .
У нас есть этот кейс-класс Scala в качестве окончательного вывода, но на данный момент мы обрабатываем вывод парсера и используем фабричный класс для создания кейс-классов Scala.
Есть ли способ итератора для создания объектов класса case из однозначности (я нашел BeanListProcessor, но он не работает для итератора)?
Ответ может быть на Java или Scala.
Спасибо, Р
def parseRecord(field: Array[String], univocityContext: Option[ParsingContext]): Option[lineEvent] = {
val parsingContext = univocityContext.get
val parsedEvent = new ParsedEventConstructor()
for ((index, counter) <- parsingContext.extractedFieldIndexes().zipWithIndex){
val columnHeader = parsingContext.headers()(index)
columnHeader match {
case "header1" => {
parsedEvent.parsedheader1 += field(counter)
}
case "header2" => {
parsedEvent.parsedheader2 += field(counter)
}
case _ => parsedEvent.parsedOtherValues += field(counter)
}
}
Some(parsedEvent.getParsedEvent())
}