Interface CsvCallback<T>

All Known Implementing Classes:
DefaultCsvCallback

public interface CsvCallback<T>
Provides callback methods for customisation of CSV processing.

You can provide your own CsvCallback implementation to customise the CSV processing. It is expected that the DefaultCsvCallback provides a good base class that you can extend.

  • Method Summary

    Modifier and Type Method Description
    void begin​(Database database)
    The processing is about to begin.
    void end​(int row)
    The processing has ended successfully.
    void endWithError​(int row, Exception e)
    The processing has ended due to an error.
    void processBean​(int row, String[] line, T bean)
    Called for each bean after it has been loaded from the CSV content.
    boolean processLine​(int row, String[] line)
    Check that the row should be processed - return true to process the row or false to ignore the row.
    void readHeader​(String[] line)
    Read the header row.
  • Method Details

    • begin

      void begin​(Database database)
      The processing is about to begin.

      Typically the callback will create a transaction, set batch mode, batch size etc.

    • readHeader

      void readHeader​(String[] line)
      Read the header row.

      This is only called if CsvReader.setHasHeader(boolean, boolean) has been set to true.

      Parameters:
      line - the header line content.
    • processLine

      boolean processLine​(int row, String[] line)
      Check that the row should be processed - return true to process the row or false to ignore the row. Gives ability to handle bad data... empty rows etc and ignore it rather than fail.
    • processBean

      void processBean​(int row, String[] line, T bean)
      Called for each bean after it has been loaded from the CSV content.

      This allows you to process the bean however you like.

      When you use a CsvCallback the CsvReader *WILL NOT* create a transaction and will not save the bean for you. You have complete control and must do these things yourself (if that is want you want).

      Parameters:
      row - the index of the content being processed
      line - the content that has been used to load the bean
      bean - the entity bean after it has been loaded from the csv content
    • end

      void end​(int row)
      The processing has ended successfully.

      Typically the callback will commit the transaction.

    • endWithError

      void endWithError​(int row, Exception e)
      The processing has ended due to an error.

      This gives the callback the opportunity to rollback the transaction if one was created.

      Parameters:
      row - the row that the error has occurred on
      e - the error that occurred