Class AbstractTokenizer

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, ITokenizer
    Direct Known Subclasses:
    Tokenizer

    public abstract class AbstractTokenizer
    extends java.lang.Object
    implements ITokenizer
    Defines the standard behaviour of a Tokenizer. Extend this class if you want the line-reading functionality of the default Tokenizer, but want to define your own implementation of ITokenizer.readColumns(List).
    Since:
    2.0.0
    Author:
    James Bassett
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractTokenizer​(java.io.Reader reader, CsvPreference preferences)
      Constructs a new AbstractTokenizer, which reads the CSV file, line by line.
    • Constructor Detail

      • AbstractTokenizer

        public AbstractTokenizer​(java.io.Reader reader,
                                 CsvPreference preferences)
        Constructs a new AbstractTokenizer, which reads the CSV file, line by line.
        Parameters:
        reader - the reader
        preferences - the CSV preferences
        Throws:
        java.lang.NullPointerException - if reader or preferences is null
    • Method Detail

      • close

        public void close()
                   throws java.io.IOException
        Closes the underlying reader.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • getLineNumber

        public int getLineNumber()
        Gets the line number currently being tokenized (the first line is line 1). This number increments at every line terminator as the data is read, i.e. it will be
        • 0, if ITokenizer.readColumns(List) hasn't been called yet
        • 1, when the first line is being read/tokenized
        • 2, when the second line is being read/tokenized
        Specified by:
        getLineNumber in interface ITokenizer
        Returns:
        the line number currently being tokenized
      • readLine

        protected java.lang.String readLine()
                                     throws java.io.IOException
        Reads a line of text. Whenever a line terminator is read the current line number is incremented.
        Returns:
        A String containing the contents of the line, not including any line termination characters, or null if the end of the stream has been reached
        Throws:
        java.io.IOException - If an I/O error occurs
      • getPreferences

        protected CsvPreference getPreferences()
        Gets the CSV preferences.
        Returns:
        the preferences