Class ImportProcessingContext<R extends FileReaderContext>

java.lang.Object
com.broadleafcommerce.dataimport.processor.ImportProcessingContext<R>
All Implemented Interfaces:
ContextualFileReader

public final class ImportProcessingContext<R extends FileReaderContext> extends Object implements ContextualFileReader
Execution information when an import is being processed. This is utilized by an ImportProcessor to read through a particular file and actually emit the BatchRequest
Author:
Phillip Verheyden (phillipuniverse)
  • Constructor Details

  • Method Details

    • getHeaders

      public String[] getHeaders()
      Description copied from interface: ContextualFileReader
      Obtains the headers for the current file
      Specified by:
      getHeaders in interface ContextualFileReader
      Returns:
      the headers from the file
    • currentLineNumber

      public long currentLineNumber()
      Description copied from interface: ContextualFileReader
      The current line that the context is pointing to, 1-indexed
      Specified by:
      currentLineNumber in interface ContextualFileReader
      Returns:
      the current line number that this reader is pointing to
    • hasNext

      public boolean hasNext()
      Description copied from interface: ContextualFileReader
      Whether or not there are more data records to read. Should be used as a guard against ContextualFileReader.readNextLine() to protect against an attempt at reading too far
      Specified by:
      hasNext in interface ContextualFileReader
      Returns:
      whether or not there are more data records to read
    • readNextLine

      public Map<String,String> readNextLine()
      Description copied from interface: ContextualFileReader
      Returns the next row of data. Keys correspond to the headers and values are the specific values for those headers
      Specified by:
      readNextLine in interface ContextualFileReader
      Returns:
      a row of data from the file
    • countTotalItems

      public long countTotalItems(InputStream file)
      Description copied from interface: ContextualFileReader
      Counts all of the data records within the file. This should not include all of the physical lines within the file. For instance this should not include the header line or any lines that are denoted as comments
      Specified by:
      countTotalItems in interface ContextualFileReader
      Parameters:
      file - file to count records for
      Returns:
      the total number of data records in the file
    • getImportId

      public String getImportId()
      The import being processed
    • getRestrictedHeaders

      @Nullable public Set<String> getRestrictedHeaders()
      Headers that the user specified should be restricted
    • getImportSpecification

      public ImportSpecification getImportSpecification()
      The current resolved specification being executed
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • toString

      public String toString()
      Overrides:
      toString in class Object