Class AbstractListProcessor<T extends Context>

  • All Implemented Interfaces:
    Processor<T>
    Direct Known Subclasses:
    RowListProcessor

    public abstract class AbstractListProcessor<T extends Context>
    extends java.lang.Object
    implements Processor<T>
    A convenience Processor implementation for storing all rows parsed into a list. A typical use case of this class will be:
    
     parserSettings.setRowProcessor(new RowListProcessor());
     parser.parse(reader); // will invoke the rowProcessed(String[], Context) method for each parsed record.
    
     String[] headers = rowProcessor.getHeaders();
     List<String[]> rows = rowProcessor.getRows();
    
     

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int expectedRowCount  
      private java.lang.String[] headers  
      private java.util.List<java.lang.String[]> rows  
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractListProcessor()
      Creates a new processor of String[] rows.
      AbstractListProcessor​(int expectedRowCount)
      Creates a new processor of String[] rows.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String[] getHeaders()
      Returns the record headers.
      java.util.List<java.lang.String[]> getRows()
      The list of parsed records
      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 rowProcessed​(java.lang.String[] row, T context)
      Stores the row extracted by the parser into a list.
      • Methods inherited from class java.lang.Object

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

      • rows

        private java.util.List<java.lang.String[]> rows
      • headers

        private java.lang.String[] headers
      • expectedRowCount

        private final int expectedRowCount
    • Constructor Detail

      • AbstractListProcessor

        public AbstractListProcessor()
        Creates a new processor of String[] rows.
      • AbstractListProcessor

        public AbstractListProcessor​(int expectedRowCount)
        Creates a new processor of String[] rows.
        Parameters:
        expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List returned by getRows()
    • 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)
        Stores the row extracted by the parser into a list.
        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
      • getRows

        public java.util.List<java.lang.String[]> getRows()
        The list of parsed records
        Returns:
        the list of parsed records
      • getHeaders

        public java.lang.String[] getHeaders()
        Returns the record headers. This can be either the headers defined in CommonSettings.getHeaders() or the headers parsed in the file when CommonSettings.getHeaders() equals true
        Returns:
        the headers of all records parsed.