Class AbstractColumnProcessor<T extends Context>

    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractColumnProcessor()
      Constructs a column processor, pre-allocating room for 1000 rows.
      AbstractColumnProcessor​(int expectedRowCount)
      Constructs a column processor pre-allocating room for the expected number of rows to be processed
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.List<java.lang.String> getColumn​(int columnIndex)
      Returns the values of a given column.
      java.util.List<java.lang.String> getColumn​(java.lang.String columnName)
      Returns the values of a given column.
      java.util.List<java.util.List<java.lang.String>> getColumnValuesAsList()
      Returns the values processed for each column
      java.util.Map<java.lang.Integer,​java.util.List<java.lang.String>> getColumnValuesAsMapOfIndexes()
      Returns a map of column indexes and their respective list of values parsed from the input.
      java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getColumnValuesAsMapOfNames()
      Returns a map of column names and their respective list of values parsed from the input.
      java.lang.String[] getHeaders()
      Returns the column headers.
      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 putColumnValuesInMapOfIndexes​(java.util.Map<java.lang.Integer,​java.util.List<java.lang.String>> map)
      Fills a given map associating each column index to its list of values
      void putColumnValuesInMapOfNames​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> map)
      Fills a given map associating each column name to its list o values
      void rowProcessed​(java.lang.String[] row, T context)
      Invoked by the parser after all values of a valid record have been processed.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

    • Constructor Detail

      • AbstractColumnProcessor

        public AbstractColumnProcessor()
        Constructs a column processor, pre-allocating room for 1000 rows.
      • AbstractColumnProcessor

        public AbstractColumnProcessor​(int expectedRowCount)
        Constructs a column processor pre-allocating room for the expected number of rows to be processed
        Parameters:
        expectedRowCount - the expected number of rows to be processed
    • 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>
        Parameters:
        context - A contextual object with information and controls over the current state of the parsing process
      • rowProcessed

        public void rowProcessed​(java.lang.String[] row,
                                 T context)
        Description copied from interface: Processor
        Invoked by the parser after all values of a valid record have been processed.
        Specified by:
        rowProcessed in interface Processor<T extends Context>
        Parameters:
        row - the data extracted by the parser for an individual record. Note that:
        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>
        Parameters:
        context - A contextual object with information and controls over the state of the parsing process
      • getColumnValuesAsList

        public final java.util.List<java.util.List<java.lang.String>> getColumnValuesAsList()
        Description copied from interface: ColumnReader
        Returns the values processed for each column
        Specified by:
        getColumnValuesAsList in interface ColumnReader<T extends Context>
        Returns:
        a list of lists. The stored lists correspond to the position of the column processed from the input; Each list contains the corresponding values parsed for a column, across multiple rows.
      • putColumnValuesInMapOfNames

        public final void putColumnValuesInMapOfNames​(java.util.Map<java.lang.String,​java.util.List<java.lang.String>> map)
        Description copied from interface: ColumnReader
        Fills a given map associating each column name to its list o values
        Specified by:
        putColumnValuesInMapOfNames in interface ColumnReader<T extends Context>
        Parameters:
        map - the map to hold the values of each column
      • putColumnValuesInMapOfIndexes

        public final void putColumnValuesInMapOfIndexes​(java.util.Map<java.lang.Integer,​java.util.List<java.lang.String>> map)
        Description copied from interface: ColumnReader
        Fills a given map associating each column index to its list of values
        Specified by:
        putColumnValuesInMapOfIndexes in interface ColumnReader<T extends Context>
        Parameters:
        map - the map to hold the values of each column
      • getColumnValuesAsMapOfNames

        public final java.util.Map<java.lang.String,​java.util.List<java.lang.String>> getColumnValuesAsMapOfNames()
        Description copied from interface: ColumnReader
        Returns a map of column names and their respective list of values parsed from the input.
        Specified by:
        getColumnValuesAsMapOfNames in interface ColumnReader<T extends Context>
        Returns:
        a map of column names and their respective list of values.
      • getColumnValuesAsMapOfIndexes

        public final java.util.Map<java.lang.Integer,​java.util.List<java.lang.String>> getColumnValuesAsMapOfIndexes()
        Description copied from interface: ColumnReader
        Returns a map of column indexes and their respective list of values parsed from the input.
        Specified by:
        getColumnValuesAsMapOfIndexes in interface ColumnReader<T extends Context>
        Returns:
        a map of column indexes and their respective list of values.
      • getColumn

        public java.util.List<java.lang.String> getColumn​(java.lang.String columnName)
        Description copied from interface: ColumnReader
        Returns the values of a given column.
        Specified by:
        getColumn in interface ColumnReader<T extends Context>
        Parameters:
        columnName - the name of the column in the input.
        Returns:
        a list with all data stored in the given column
      • getColumn

        public java.util.List<java.lang.String> getColumn​(int columnIndex)
        Description copied from interface: ColumnReader
        Returns the values of a given column.
        Specified by:
        getColumn in interface ColumnReader<T extends Context>
        Parameters:
        columnIndex - the position of the column in the input (0-based).
        Returns:
        a list with all data stored in the given column