Class AbstractBatchedObjectColumnProcessor<T extends Context>

    • Field Detail

      • rowsPerBatch

        private final int rowsPerBatch
      • batchCount

        private int batchCount
      • batchesProcessed

        private int batchesProcessed
    • Constructor Detail

      • AbstractBatchedObjectColumnProcessor

        public AbstractBatchedObjectColumnProcessor​(int rowsPerBatch)
        Constructs a abstract batched column processor configured to invoke the batchesProcessed method after a given number of rows has been processed.
        Parameters:
        rowsPerBatch - the number of rows to process in each batch.
    • 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>
        Overrides:
        processStarted in class AbstractObjectProcessor<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.Object[] row,
                                 T context)
        Description copied from class: AbstractObjectProcessor
        Invoked by the processor after all values of a valid record have been processed and converted into an Object array.
        Specified by:
        rowProcessed in class AbstractObjectProcessor<T extends Context>
        Parameters:
        row - object array created with the information extracted by the parser and then converted.
        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>
        Overrides:
        processEnded in class AbstractObjectProcessor<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.Object>> 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.Object>> 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.Object>> 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.Object>> 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.Object>> 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.Object> 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.Object> 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
      • getColumn

        public <V> java.util.List<V> getColumn​(java.lang.String columnName,
                                               java.lang.Class<V> columnType)
        Returns the values of a given column.
        Type Parameters:
        V - the type of data in that column
        Parameters:
        columnName - the name of the column in the input.
        columnType - the type of data in that column
        Returns:
        a list with all data stored in the given column
      • getColumn

        public <V> java.util.List<V> getColumn​(int columnIndex,
                                               java.lang.Class<V> columnType)
        Returns the values of a given column.
        Type Parameters:
        V - the type of data in that column
        Parameters:
        columnIndex - the position of the column in the input (0-based).
        columnType - the type of data in that column
        Returns:
        a list with all data stored in the given column