Class ParserOutput

java.lang.Object
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:
  • Field Details

    • 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
    • pendingRecords

      public final Deque<String[]> pendingRecords
  • Constructor Details

    • 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 Details

    • 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.
    • getHeaderAsStringArray

      public String[] getHeaderAsStringArray()
    • getHeaders

      public NormalizedString[] 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