Class ProcessCsvLine<T>

  • Type Parameters:
    T - The type of the bean being created
    All Implemented Interfaces:
    java.lang.Runnable

    public class ProcessCsvLine<T>
    extends java.lang.Object
    implements java.lang.Runnable
    A class that encapsulates the job of creating a bean from a line of CSV input and making it possible to run those jobs in parallel.
    Since:
    4.0
    • Field Detail

      • lineNumber

        private final long lineNumber
      • verifiers

        private final java.util.List<BeanVerifier<T>> verifiers
      • line

        private final java.lang.String[] line
      • resultantBeanQueue

        private final java.util.concurrent.BlockingQueue<OrderedObject<T>> resultantBeanQueue
      • expectedRecords

        private final java.util.SortedSet<java.lang.Long> expectedRecords
    • Constructor Detail

      • ProcessCsvLine

        public ProcessCsvLine​(long lineNumber,
                              MappingStrategy<? extends T> mapper,
                              CsvToBeanFilter filter,
                              java.util.List<BeanVerifier<T>> verifiers,
                              java.lang.String[] line,
                              java.util.concurrent.BlockingQueue<OrderedObject<T>> resultantBeanQueue,
                              java.util.concurrent.BlockingQueue<OrderedObject<CsvException>> thrownExceptionsQueue,
                              java.util.SortedSet<java.lang.Long> expectedRecords,
                              CsvExceptionHandler exceptionHandler)
        The only constructor for creating a bean out of a line of input.
        Parameters:
        lineNumber - Which record in the input file is being processed
        mapper - The mapping strategy to be used
        filter - A filter to remove beans from the running, if necessary. May be null.
        verifiers - The list of verifiers to run on beans after creation
        line - The line of input to be transformed into a bean
        resultantBeanQueue - A queue in which to place the bean created
        thrownExceptionsQueue - A queue in which to place a thrown exception, if one is thrown
        expectedRecords - A list of outstanding record numbers so gaps in ordering due to filtered input or exceptions while converting can be detected.
        exceptionHandler - The handler for exceptions thrown during record processing