com.univocity.parsers.common.processor
Class ConcurrentRowProcessor

java.lang.Object
  extended by com.univocity.parsers.common.processor.core.AbstractConcurrentProcessor<ParsingContext>
      extended by com.univocity.parsers.common.processor.ConcurrentRowProcessor
All Implemented Interfaces:
Processor<ParsingContext>, RowProcessor

public class ConcurrentRowProcessor
extends AbstractConcurrentProcessor<ParsingContext>
implements RowProcessor

A RowProcessor implementation to perform row processing tasks in parallel. The ConcurrentRowProcessor wraps another RowProcessor, and collects rows read from the input. The actual row processing is performed in by wrapped RowProcessor in a separate thread.

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

Constructor Summary
ConcurrentRowProcessor(RowProcessor rowProcessor)
          Creates a non-blocking ConcurrentRowProcessor, to perform processing of rows parsed from the input in a separate thread.
ConcurrentRowProcessor(RowProcessor rowProcessor, int limit)
          Creates a blocking ConcurrentRowProcessor, to perform processing of rows parsed from the input in a separate thread.
 
Method Summary
protected  ParsingContext copyContext(ParsingContext context)
           
protected  ParsingContext wrapContext(ParsingContext context)
           
 
Methods inherited from class com.univocity.parsers.common.processor.core.AbstractConcurrentProcessor
getRowCount, isContextCopyingEnabled, processEnded, processStarted, rowProcessed, setContextCopyingEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.univocity.parsers.common.processor.RowProcessor
processEnded, processStarted, rowProcessed
 

Constructor Detail

ConcurrentRowProcessor

public ConcurrentRowProcessor(RowProcessor rowProcessor)
Creates a non-blocking ConcurrentRowProcessor, to perform processing of rows parsed from the input in a separate thread.

Parameters:
rowProcessor - a regular RowProcessor implementation which will be executed in a separate thread.

ConcurrentRowProcessor

public ConcurrentRowProcessor(RowProcessor rowProcessor,
                              int limit)
Creates a blocking ConcurrentRowProcessor, to perform processing of rows parsed from the input in a separate thread.

Parameters:
rowProcessor - a regular RowProcessor implementation which will be executed in a separate thread.
limit - the limit of rows to be kept in memory before the input parsing process is blocked.
Method Detail

copyContext

protected ParsingContext copyContext(ParsingContext context)
Specified by:
copyContext in class AbstractConcurrentProcessor<ParsingContext>

wrapContext

protected ParsingContext wrapContext(ParsingContext context)
Specified by:
wrapContext in class AbstractConcurrentProcessor<ParsingContext>


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