com.univocity.parsers.common.processor.core
Class AbstractBeanListProcessor<T,C extends Context>

java.lang.Object
  extended by com.univocity.parsers.common.DefaultConversionProcessor
      extended by com.univocity.parsers.common.processor.core.BeanConversionProcessor<T>
          extended by com.univocity.parsers.common.processor.core.AbstractBeanProcessor<T,C>
              extended by com.univocity.parsers.common.processor.core.AbstractBeanListProcessor<T,C>
Type Parameters:
T - the annotated class type.
All Implemented Interfaces:
ConversionProcessor, Processor<C>
Direct Known Subclasses:
BeanListProcessor

public abstract class AbstractBeanListProcessor<T,C extends Context>
extends AbstractBeanProcessor<T,C>

A convenience Processor implementation for storing all java objects generated form the parsed input into a list. A typical use case of this class will be:


parserSettings.setRowProcessor(new BeanListProcessor(MyObject.class));
 parser.parse(reader); // will invoke the {@link AbstractBeanListProcessor#beanProcessed(Object, C)} method for each generated object.

 List&lt;T&gt; beans = rowProcessor.getBeans();
 

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

Field Summary
 
Fields inherited from class com.univocity.parsers.common.processor.core.BeanConversionProcessor
initialized, methodFilter, parsedFields, transformer
 
Constructor Summary
AbstractBeanListProcessor(Class<T> beanType)
          Creates a processor that stores java beans of a given type into a list
AbstractBeanListProcessor(Class<T> beanType, int expectedBeanCount)
          Creates a processor that stores java beans of a given type into a list
 
Method Summary
 void beanProcessed(T bean, C context)
          Stores the generated java bean produced with a parsed record into a list.
 List<T> getBeans()
          Returns the list of generated java beans at the end of the parsing process.
 String[] getHeaders()
          Returns the record headers.
 void processEnded(C context)
          This method will by invoked by the parser once, after the parsing process stopped and all resources were closed.
 void processStarted(C context)
          This method will by invoked by the parser once, when it is ready to start processing the input.
 
Methods inherited from class com.univocity.parsers.common.processor.core.AbstractBeanProcessor
rowProcessed
 
Methods inherited from class com.univocity.parsers.common.processor.core.BeanConversionProcessor
addConversion, createBean, getBeanClass, initialize, initialize, isStrictHeaderValidationEnabled, processField, reverseConversions, setStrictHeaderValidationEnabled
 
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

AbstractBeanListProcessor

public AbstractBeanListProcessor(Class<T> beanType)
Creates a processor that stores java beans of a given type into a list

Parameters:
beanType - the class with its attributes mapped to fields of records parsed by an AbstractParser or written by an AbstractWriter.

AbstractBeanListProcessor

public AbstractBeanListProcessor(Class<T> beanType,
                                 int expectedBeanCount)
Creates a processor that stores java beans of a given type into a list

Parameters:
beanType - the class with its attributes mapped to fields of records parsed by an AbstractParser or written by an AbstractWriter.
expectedBeanCount - expected number of rows to be parsed from the input which will be converted into java beans. Used to pre-allocate the size of the output List returned by getBeans()
Method Detail

beanProcessed

public void beanProcessed(T bean,
                          C context)
Stores the generated java bean produced with a parsed record into a list.

Specified by:
beanProcessed in class AbstractBeanProcessor<T,C extends Context>
Parameters:
bean - java bean generated with the information extracted by the parser for an individual record
context - A contextual object with information and controls over the current state of the parsing process
See Also:
BeanProcessor

getBeans

public List<T> getBeans()
Returns the list of generated java beans at the end of the parsing process.

Returns:
the list of generated java beans at the end of the parsing process.

processStarted

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

processEnded

public void processEnded(C 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<C extends Context>
Overrides:
processEnded in class AbstractBeanProcessor<T,C extends Context>
Parameters:
context - A contextual object with information and controls over the state of the parsing process

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 © 2018 uniVocity Software Pty Ltd. All rights reserved.