Class BatchedObjectColumnProcessor

All Implemented Interfaces:
ConversionProcessor, BatchedColumnReader<Object>, ColumnReader<Object>, Processor<ParsingContext>, RowProcessor

public abstract class BatchedObjectColumnProcessor extends AbstractBatchedObjectColumnProcessor<ParsingContext> implements RowProcessor
A RowProcessor implementation for converting batches of rows extracted from any implementation of AbstractParser into columns of objects.

This uses the value conversions provided by Conversion instances.

For each row processed, a sequence of conversions will be executed to generate the appropriate object. Each resulting object will then be stored in a list that contains the values of the corresponding column.

During the execution of the process, the AbstractBatchedObjectColumnProcessor.batchProcessed(int) method will be invoked after a given number of rows has been processed.

The user can access the lists with values parsed for all columns using the methods AbstractBatchedObjectColumnProcessor.getColumnValuesAsList(), AbstractBatchedObjectColumnProcessor.getColumnValuesAsMapOfIndexes() and AbstractBatchedObjectColumnProcessor.getColumnValuesAsMapOfNames().

After AbstractBatchedObjectColumnProcessor.batchProcessed(int) is invoked, all values will be discarded and the next batch of column values will be accumulated. This process will repeat until there's no more rows in the input.

See Also:
  • Constructor Details

    • BatchedObjectColumnProcessor

      public BatchedObjectColumnProcessor(int rowsPerBatch)
      Constructs a batched column processor configured to invoke the AbstractBatchedObjectColumnProcessor.batchesProcessed method after a given number of rows has been processed.
      Parameters:
      rowsPerBatch - the number of rows to process in each batch.