Class AbstractListProcessor<T extends Context>

java.lang.Object
com.univocity.parsers.common.processor.core.AbstractListProcessor<T>
All Implemented Interfaces:
Processor<T>
Direct Known Subclasses:
RowListProcessor

public abstract class AbstractListProcessor<T extends Context> extends Object implements Processor<T>
A convenience Processor implementation for storing all rows parsed into a list. A typical use case of this class will be:

 parserSettings.setRowProcessor(new RowListProcessor());
 parser.parse(reader); // will invoke the rowProcessed(String[], Context) method for each parsed record.

 String[] headers = rowProcessor.getHeaders();
 List<String[]> rows = rowProcessor.getRows();

 

  • Field Details

    • rows

      private List<String[]> rows
    • headers

      private String[] headers
    • expectedRowCount

      private final int expectedRowCount
  • Constructor Details

    • AbstractListProcessor

      public AbstractListProcessor()
      Creates a new processor of String[] rows.
    • AbstractListProcessor

      public AbstractListProcessor(int expectedRowCount)
      Creates a new processor of String[] rows.
      Parameters:
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List returned by getRows()
  • Method Details

    • processStarted

      public void processStarted(T context)
      Description copied from interface: Processor
      This method will by invoked by the parser once, when it is ready to start processing the input.
      Specified by:
      processStarted in interface Processor<T extends Context>
      Parameters:
      context - A contextual object with information and controls over the current state of the parsing process
    • rowProcessed

      public void rowProcessed(String[] row, T context)
      Stores the row extracted by the parser into a list.
      Specified by:
      rowProcessed in interface Processor<T extends Context>
      Parameters:
      row - the data extracted by the parser for an individual record. Note that:
      context - A contextual object with information and controls over the current state of the parsing process
    • processEnded

      public void processEnded(T context)
      Description copied from interface: Processor
      This method will by invoked by the parser once, after the parsing process stopped and all resources were closed.

      It will always be called by the parser: in case of errors, if the end of the input us reached, or if the user stopped the process manually using Context.stop().

      Specified by:
      processEnded in interface Processor<T extends Context>
      Parameters:
      context - A contextual object with information and controls over the state of the parsing process
    • getRows

      public List<String[]> getRows()
      The list of parsed records
      Returns:
      the list of parsed records
    • getHeaders

      public String[] getHeaders()
      Returns the record headers. This can be either the headers defined in CommonSettings.getHeaders() or the headers parsed in the file when CommonSettings.getHeaders() equals true
      Returns:
      the headers of all records parsed.