com.univocity.parsers.common.processor.core
Class AbstractObjectListProcessor<T extends Context>

java.lang.Object
  extended by com.univocity.parsers.common.DefaultConversionProcessor
      extended by com.univocity.parsers.common.processor.core.AbstractObjectProcessor<T>
          extended by com.univocity.parsers.common.processor.core.AbstractObjectListProcessor<T>
All Implemented Interfaces:
ConversionProcessor, Processor<T>
Direct Known Subclasses:
ObjectRowListProcessor

public abstract class AbstractObjectListProcessor<T extends Context>
extends AbstractObjectProcessor<T>

A convenience Processor implementation for storing all rows parsed and converted to Object arrays into a list. A typical use case of this class will be:


ObjectRowListProcessor processor = new ObjectRowListProcessor();
 processor.convertIndexes(Conversions.toBigDecimal()).set(4, 6);
 parserSettings.setRowProcessor(new ObjectRowListProcessor());
 parser.parse(reader); // will invoke the {@link AbstractObjectListProcessor#rowProcessed(Object[], T)} method for each parsed record.

 String[] headers = rowProcessor.getHeaders();
 List&lt;Object[]&gt; rows = rowProcessor.getRows();
 BigDecimal value1 = (BigDecimal) row.get(4);
 BigDecimal value2 = (BigDecimal) row.get(6);
 

Author:
uniVocity Software Pty Ltd - parsers@univocity.com
See Also:
AbstractParser, Processor, AbstractProcessor, AbstractObjectProcessor

Constructor Summary
AbstractObjectListProcessor()
          Creates a new processor of Object[] rows with varying types.
AbstractObjectListProcessor(int expectedRowCount)
          Creates a new processor of Object[] rows with varying types.
 
Method Summary
 String[] getHeaders()
          Returns the record headers.
 List<Object[]> getRows()
          Returns the list of parsed and converted records
 void processEnded(T context)
          This method will by invoked by the parser once, after the parsing process stopped and all resources were closed.
 void processStarted(T context)
          This method will by invoked by the parser once, when it is ready to start processing the input.
 void rowProcessed(Object[] row, T context)
          Stores the row extracted by the parser and them converted to an Object array into a list.
 
Methods inherited from class com.univocity.parsers.common.processor.core.AbstractObjectProcessor
rowProcessed
 
Methods inherited from class com.univocity.parsers.common.DefaultConversionProcessor
applyConversions, convertAll, convertFields, convertIndexes, convertType, handleConversionError, initializeConversions, reverseConversions, toDataProcessingException
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AbstractObjectListProcessor

public AbstractObjectListProcessor()
Creates a new processor of Object[] rows with varying types.


AbstractObjectListProcessor

public AbstractObjectListProcessor(int expectedRowCount)
Creates a new processor of Object[] rows with varying types.

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 Detail

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>
Overrides:
processStarted in class AbstractObjectProcessor<T extends Context>
Parameters:
context - A contextual object with information and controls over the current state of the parsing process

rowProcessed

public void rowProcessed(Object[] row,
                         T context)
Stores the row extracted by the parser and them converted to an Object array into a list.

Specified by:
rowProcessed in class AbstractObjectProcessor<T extends Context>
Parameters:
row - the data extracted by the parser for an individual record and converted to an Object array.
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>
Overrides:
processEnded in class AbstractObjectProcessor<T extends Context>
Parameters:
context - A contextual object with information and controls over the state of the parsing process

getRows

public List<Object[]> getRows()
Returns the list of parsed and converted records

Returns:
the list of parsed and converted 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.


Copyright © 2017 uniVocity Software Pty Ltd. All rights reserved.