Class AbstractParser<T extends CommonParserSettings<?>>

java.lang.Object
com.univocity.parsers.common.AbstractParser<T>
Type Parameters:
T - The specific parser settings configuration class, which can potentially provide additional configuration options supported by the parser implementation.
Direct Known Subclasses:
CsvParser, FixedWidthParser, TsvParser

public abstract class AbstractParser<T extends CommonParserSettings<?>> extends Object
The AbstractParser class provides a common ground for all parsers in univocity-parsers.

It handles all settings defined by CommonParserSettings, and delegates the parsing algorithm implementation to its subclasses through the abstract method parseRecord()

The following (absolutely required) attributes are exposed to subclasses:

  • input (CharInputReader): the character input provider that reads characters from a given input into an internal buffer
  • output (ParserOutput): the output handler for every record parsed from the input. Implementors must use this object to handle the input (such as appending characters and notifying of values parsed)
  • ch (char): the current character read from the input
See Also:
  • Field Details

    • settings

      protected final T extends CommonParserSettings<?> settings
    • output

      protected final ParserOutput output
    • recordsToRead

      private final long recordsToRead
    • comment

      protected final char comment
    • lineReader

      private final LineReader lineReader
    • context

      protected ParsingContext context
    • processor

      protected Processor processor
    • input

      protected CharInputReader input
    • ch

      protected char ch
    • errorHandler

      private final ProcessorErrorHandler errorHandler
    • rowsToSkip

      private final long rowsToSkip
    • comments

      protected final Map<Long,String> comments
    • lastComment

      protected String lastComment
    • collectComments

      private final boolean collectComments
    • errorContentLength

      private final int errorContentLength
    • extractingHeaders

      private boolean extractingHeaders
    • extractHeaders

      private final boolean extractHeaders
    • whitespaceRangeStart

      protected final int whitespaceRangeStart
    • ignoreTrailingWhitespace

      protected boolean ignoreTrailingWhitespace
    • ignoreLeadingWhitespace

      protected boolean ignoreLeadingWhitespace
    • processComments

      private final boolean processComments
  • Constructor Details

    • AbstractParser

      public AbstractParser(T settings)
      All parsers must support, at the very least, the settings provided by CommonParserSettings. The AbstractParser requires its configuration to be properly initialized.
      Parameters:
      settings - the parser configuration
  • Method Details

    • processComment

      protected void processComment()
    • parse

      public final void parse(Reader reader)
      Parses the entirety of a given input and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      reader - The input to be parsed.
    • parseRecord

      protected abstract void parseRecord()
      Parser-specific implementation for reading a single record from the input.

      The AbstractParser handles the initialization and processing of the input until it is ready to be parsed.

      It then delegates the input to the parser-specific implementation defined by parseRecord(). In general, an implementation of parseRecord() will perform the following steps:

      • Test the character stored in ch and take some action on it (e.g. is while (ch != '\n'){doSomething()})
      • Request more characters by calling ch = input.nextChar();
      • Append the desired characters to the output by executing, for example, output.appender.append(ch)
      • Notify a value of the record has been fully read by executing output.valueParsed(). This will clear the output appender (CharAppender) so the next call to output.appender.append(ch) will be store the character of the next parsed value
      • Rinse and repeat until all values of the record are parsed

      Once the parseRecord() returns, the AbstractParser takes over and handles the information (generally, reorganizing it and passing it on to a RowProcessor).

      After the record processing, the AbstractParser reads the next characters from the input, delegating control again to the parseRecord() implementation for processing of the next record.

      This cycle repeats until the reading process is stopped by the user, the input is exhausted, or an error happens.

      In case of errors, the unchecked exception TextParsingException will be thrown and all resources in use will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false. The exception should contain the cause and more information about where in the input the error happened.

      See Also:
    • consumeValueOnEOF

      protected boolean consumeValueOnEOF()
      Allows the parser implementation to handle any value that was being consumed when the end of the input was reached
      Returns:
      a flag indicating whether the parser was processing a value when the end of the input was reached.
    • handleEOF

      private String[] handleEOF()
    • beginParsing

      public final void beginParsing(Reader reader)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      reader - The input to be parsed.
    • extractHeadersIfRequired

      void extractHeadersIfRequired()
    • createParsingContext

      protected ParsingContext createParsingContext()
    • initialize

      protected void initialize()
    • getInputAnalysisProcess

      protected InputAnalysisProcess getInputAnalysisProcess()
      Allows the parser implementation to traverse the input buffer before the parsing process starts, in order to enable automatic configuration and discovery of data formats.
      Returns:
      a custom implementation of InputAnalysisProcess. By default, null is returned and no special input analysis will be performed.
    • getParsedContent

      private String getParsedContent(CharSequence tmp)
    • handleException

      private TextParsingException handleException(Throwable ex)
    • stopParsing

      private void stopParsing(Throwable error)
      In case of errors, stops parsing and closes all open resources. Avoids hiding the original exception in case another error occurs when stopping.
    • stopParsing

      public final void stopParsing()
      Stops parsing and closes all open resources.
    • beginParseAll

      private <T> List<T> beginParseAll(boolean validateReader, Reader reader, int expectedRowCount)
    • parseAll

      public List<String[]> parseAll(int expectedRowCount)
      Parses all remaining rows from the input and returns them in a list.
      Parameters:
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all remaining records parsed from the input.
    • parseAll

      public List<String[]> parseAll()
      Parses all remaining rows from the input and returns them in a list.
      Returns:
      the list of all remaining records parsed from the input.
    • parseAllRecords

      public List<Record> parseAllRecords(int expectedRowCount)
      Parses all remaining Records from the input and returns them in a list.
      Parameters:
      expectedRowCount - expected number of Records to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all remaining records parsed from the input.
    • parseAllRecords

      public List<Record> parseAllRecords()
      Parses all remaining Records from the input and returns them in a list.
      Returns:
      the list of all remaining Records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(Reader reader)
      Parses all records from the input and returns them in a list.
      Parameters:
      reader - the input to be parsed
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(Reader reader, int expectedRowCount)
      Parses all records from the input and returns them in a list.
      Parameters:
      reader - the input to be parsed
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • internalParseAll

      private final List<String[]> internalParseAll(boolean validateReader, Reader reader, int expectedRowCount)
    • inComment

      protected boolean inComment()
    • parseNext

      public final String[] parseNext()
      Parses the next record from the input. Note that beginParsing(Reader) must have been invoked once before calling this method. If the end of the input is reached, then this method will return null. Additionally, all resources will be closed automatically at the end of the input or if any error happens while parsing, unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
      Returns:
      The record parsed from the input or null if there's no more characters to read.
    • reloadHeaders

      protected final void reloadHeaders()
      Reloads headers from settings.
    • parseRecord

      public final Record parseRecord(String line)
      Parses a single line from a String in the format supported by the parser implementation.
      Parameters:
      line - a line of text to be parsed
      Returns:
      the Record containing the values parsed from the input line
    • parseLine

      public final String[] parseLine(String line)
      Parses a single line from a String in the format supported by the parser implementation.
      Parameters:
      line - a line of text to be parsed
      Returns:
      the values parsed from the input line
    • rowProcessed

      private void rowProcessed(String[] row)
    • parse

      public final void parse(File file)
      Parses the entirety of a given file and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      file - The file to be parsed.
    • parse

      public final void parse(File file, String encoding)
      Parses the entirety of a given file and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      file - The file to be parsed.
      encoding - the encoding of the file
    • parse

      public final void parse(File file, Charset encoding)
      Parses the entirety of a given file and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      file - The file to be parsed.
      encoding - the encoding of the file
    • parse

      public final void parse(InputStream input)
      Parses the entirety of a given input and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically, unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
    • parse

      public final void parse(InputStream input, String encoding)
      Parses the entirety of a given input and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically, unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
      encoding - the encoding of the input stream
    • parse

      public final void parse(InputStream input, Charset encoding)
      Parses the entirety of a given input and delegates each parsed row to an instance of RowProcessor, defined by CommonParserSettings.getRowProcessor().
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically, unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
      encoding - the encoding of the input stream
    • beginParsing

      public final void beginParsing(File file)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      file - The file to be parsed.
    • beginParsing

      public final void beginParsing(File file, String encoding)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      file - The file to be parsed.
      encoding - the encoding of the file
    • beginParsing

      public final void beginParsing(File file, Charset encoding)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      file - The file to be parsed.
      encoding - the encoding of the file
    • beginParsing

      public final void beginParsing(InputStream input)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically in case of errors unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
    • beginParsing

      public final void beginParsing(InputStream input, String encoding)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically in case of errors unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
      encoding - the encoding of the input stream
    • beginParsing

      public final void beginParsing(InputStream input, Charset encoding)
      Starts an iterator-style parsing cycle. If a RowProcessor is provided in the configuration, it will be used to perform additional processing. The parsed records must be read one by one with the invocation of parseNext(). The user may invoke @link stopParsing() to stop reading from the input.
      Parameters:
      input - The input to be parsed. The input stream will be closed automatically in case of errors unless CommonParserSettings.isAutoClosingEnabled() evaluates to false.
      encoding - the encoding of the input stream
    • parseAll

      public final List<String[]> parseAll(File file, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(File file, String encoding, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(File file, Charset encoding, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(InputStream input, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(InputStream input, String encoding, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(InputStream input, Charset encoding, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(File file)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(File file, String encoding)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(File file, Charset encoding)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      Returns:
      the list of all records parsed from the file.
    • parseAll

      public final List<String[]> parseAll(InputStream input)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(InputStream input, String encoding)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      Returns:
      the list of all records parsed from the input.
    • parseAll

      public final List<String[]> parseAll(InputStream input, Charset encoding)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file, String encoding, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file, Charset encoding, int expectedRowCount)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input, String encoding, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input, Charset encoding, int expectedRowCount)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file, String encoding)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(File file, Charset encoding)
      Parses all records from a file and returns them in a list.
      Parameters:
      file - the input file to be parsed
      encoding - the encoding of the file
      Returns:
      the list of all records parsed from the file.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input, String encoding)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(InputStream input, Charset encoding)
      Parses all records from an input stream and returns them in a list.
      Parameters:
      input - the input stream to be parsed. The input stream will be closed automatically unless CommonParserSettings.isAutoClosingEnabled() evaluates to false
      encoding - the encoding of the input stream
      Returns:
      the list of all records parsed from the input.
    • parseAllRecords

      public final List<Record> parseAllRecords(Reader reader, int expectedRowCount)
      Parses all records from the input and returns them in a list.
      Parameters:
      reader - the input to be parsed
      expectedRowCount - expected number of rows to be parsed from the input. Used to pre-allocate the size of the output List
      Returns:
      the list of all records parsed from the input.
    • internalParseAllRecords

      private List<Record> internalParseAllRecords(boolean validateReader, Reader reader, int expectedRowCount)
    • parseAllRecords

      public final List<Record> parseAllRecords(Reader reader)
      Parses all records from the input and returns them in a list.
      Parameters:
      reader - the input to be parsed
      Returns:
      the list of all records parsed from the input.
    • parseNextRecord

      public final Record parseNextRecord()
      Parses the next record from the input. Note that beginParsing(Reader) must have been invoked once before calling this method. If the end of the input is reached, then this method will return null. Additionally, all resources will be closed automatically at the end of the input or if any error happens while parsing.
      Returns:
      The record parsed from the input or null if there's no more characters to read.
    • getComments

      final Map<Long,String> getComments()
      Returns all comments collected by the parser so far. An empty map will be returned if CommonParserSettings.isCommentCollectionEnabled() evaluates to false.
      Returns:
      a map containing the line numbers and comments found in each.
    • getLastComment

      final String getLastComment()
      Returns the last comment found in the input. null will be returned if CommonParserSettings.isCommentCollectionEnabled() is evaluated to false.
      Returns:
      the last comment found in the input.
    • getParsedHeaders

      final String[] getParsedHeaders()
      Returns the headers parsed from the input, if and only if CommonParserSettings.headerExtractionEnabled is true. The result of this method won't return the list of headers manually set by the user in CommonSettings.getHeaders().
      Returns:
      the headers parsed from the input, when CommonParserSettings.headerExtractionEnabled is true.
    • getContext

      public final ParsingContext getContext()
      Returns the current parsing context with information about the status of the parser at any given time.
      Returns:
      the parsing context
    • getRecordMetadata

      public final RecordMetaData getRecordMetadata()
      Returns the metadata associated with Records parsed from the input using parseAllRecords(File) or parseNextRecord().
      Returns:
      the metadata of Records generated with the current input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(File input, String encoding)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the input File
      encoding - the encoding of the input File
      Returns:
      an iterator for rows parsed from the input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(File input, Charset encoding)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the input File
      encoding - the encoding of the input File
      Returns:
      an iterator for rows parsed from the input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(File input)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the input File
      Returns:
      an iterator for rows parsed from the input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(Reader input)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the input Reader
      Returns:
      an iterable over the results of parsing the Reader
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(InputStream input, String encoding)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      encoding - the character encoding to be used for processing the given input.
      Returns:
      an iterator for rows parsed from the input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(InputStream input, Charset encoding)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      encoding - the character encoding to be used for processing the given input.
      Returns:
      an iterator for rows parsed from the input.
    • iterate

      public final IterableResult<String[],ParsingContext> iterate(InputStream input)
      Provides an IterableResult for iterating rows parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      Returns:
      an iterator for rows parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(File input, String encoding)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the input File
      encoding - the encoding of the input File
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(File input, Charset encoding)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the input File
      encoding - the encoding of the input File
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(File input)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the input File
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(Reader input)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the input Reader
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(InputStream input, String encoding)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      encoding - the character encoding to be used for processing the given input.
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(InputStream input, Charset encoding)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      encoding - the character encoding to be used for processing the given input.
      Returns:
      an iterator for records parsed from the input.
    • iterateRecords

      public final IterableResult<Record,ParsingContext> iterateRecords(InputStream input)
      Provides an IterableResult for iterating records parsed from the input.
      Parameters:
      input - the the InputStream with contents to be parsed
      Returns:
      an iterator for records parsed from the input.