com.univocity.parsers.common
Class ParserOutput

java.lang.Object
  extended by com.univocity.parsers.common.ParserOutput

public class ParserOutput
extends Object

The ParserOutput is the component that manages records parsed by AbstractParser and their values. It is solely responsible for deciding when:

Implementations of this class are made available to concrete parser implementations of AbstractParser.

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

Field Summary
 CharAppender appender
          The appender available to parsers for accumulating characters read from the input.
protected  int column
          Keeps track of the current column being parsed in the input.
protected  String[] parsedValues
          Stores the values parsed for a record.
protected  CommonParserSettings<?> settings
           
 boolean trim
           
 
Constructor Summary
ParserOutput(AbstractParser<?> parser, CommonParserSettings<?> settings)
          Initializes the ParserOutput with the configuration specified in CommonParserSettings
ParserOutput(CommonParserSettings<?> settings)
          Initializes the ParserOutput with the configuration specified in CommonParserSettings
 
Method Summary
 void discardValues()
          Discards the values parsed so far
 void emptyParsed()
          Adds a nullValue (as specified in CommonSettings.getNullValue()) to the output and prepares the next position in the record to receive more values.
 int getCurrentColumn()
          Returns the position of the current parsed value
 long getCurrentRecord()
          Returns the current record index.
 String[] getHeaders()
          Returns the sequence of values that represent the headers each field in the input.
 int[] getSelectedIndexes()
          Returns the selected indexes of all fields as defined in CommonSettings.
protected  void initializeHeaders()
           
 boolean isColumnReorderingEnabled()
          Indicates whether fields selected using the field selection methods (in CommonSettings) are being reordered.
 String[] rowParsed()
          Gets all values parsed in the parsedValues array
 void valueParsed()
          Adds the accumulated value in the appender object to the output and prepares the next position in the record to receive more values.
 void valueParsed(String value)
          Adds a value processed externally to the output and prepares the next position in the record to receive more values
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

column

protected int column
Keeps track of the current column being parsed in the input. Calls to valueParsed() and emptyParsed() will increase the column count. This value is reset to zero after a row is parsed.


parsedValues

protected final String[] parsedValues
Stores the values parsed for a record.


settings

protected final CommonParserSettings<?> settings

appender

public CharAppender appender

The appender available to parsers for accumulating characters read from the input.

This attribute is assigned to different instances of CharAppender during parsing process, namely, a (potentially) different CharAppender for each parsed column, taken from appenders[column]


trim

public boolean trim
Constructor Detail

ParserOutput

public ParserOutput(CommonParserSettings<?> settings)
Initializes the ParserOutput with the configuration specified in CommonParserSettings

Parameters:
settings - the parser configuration

ParserOutput

public ParserOutput(AbstractParser<?> parser,
                    CommonParserSettings<?> settings)
Initializes the ParserOutput with the configuration specified in CommonParserSettings

Parameters:
parser - the parser whose output will be managed by this class.
settings - the parser configuration
Method Detail

initializeHeaders

protected void initializeHeaders()

rowParsed

public String[] rowParsed()
Gets all values parsed in the parsedValues array

Returns:
the sequence of parsed values in a record.

getHeaders

public String[] getHeaders()
Returns the sequence of values that represent the headers each field in the input. This can be either a parsed record or the headers as defined in CommonSettings.getHeaders()

Returns:
the headers each field in the input

getSelectedIndexes

public int[] getSelectedIndexes()
Returns the selected indexes of all fields as defined in CommonSettings. Null if no fields were selected.

Returns:
the selected indexes of all fields as defined in CommonSettings. Null if no fields were selected.

isColumnReorderingEnabled

public boolean isColumnReorderingEnabled()
Indicates whether fields selected using the field selection methods (in CommonSettings) are being reordered.

Returns:

false if no fields were selected or column reordering has been disabled in CommonParserSettings.isColumnReorderingEnabled()

true if fields were selected and column reordering has been enabled in CommonParserSettings.isColumnReorderingEnabled()


getCurrentColumn

public int getCurrentColumn()
Returns the position of the current parsed value

Returns:
the position of the current parsed value

emptyParsed

public void emptyParsed()
Adds a nullValue (as specified in CommonSettings.getNullValue()) to the output and prepares the next position in the record to receive more values.


valueParsed

public void valueParsed()
Adds the accumulated value in the appender object to the output and prepares the next position in the record to receive more values.


valueParsed

public void valueParsed(String value)
Adds a value processed externally to the output and prepares the next position in the record to receive more values

Parameters:
value - the value to be added to the current record position.

getCurrentRecord

public long getCurrentRecord()
Returns the current record index. The number returned here reflects the number of actually parsed and valid records sent to the output of rowParsed().

Returns:
the current record index.

discardValues

public final void discardValues()
Discards the values parsed so far



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