Class RawTableReader

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class RawTableReader
    extends TableReader
    Table reader that provides the capability to read a table line by line rather than record by record, which is more strict as it relies on the label metadata.
    Author:
    mcayanan
    • Constructor Detail

      • RawTableReader

        public RawTableReader​(java.lang.Object table,
                              java.net.URL dataFile,
                              java.net.URL label,
                              DataObjectLocation location,
                              boolean readEntireFile)
                       throws java.lang.Exception
        Constructor.
        Parameters:
        table - The table object.
        dataFile - The data file.
        label - The label.
        location - The location of the table within the metadata definition
        readEntireFile - Set to 'true' to read in entire data file.
        Throws:
        java.lang.Exception - If table offset is null.
      • RawTableReader

        public RawTableReader​(java.lang.Object table,
                              java.net.URL dataFile,
                              java.net.URL label,
                              DataObjectLocation location,
                              boolean readEntireFile,
                              boolean keepQuotationsFlag)
                       throws java.lang.Exception
        Constructor.
        Parameters:
        table - The table object.
        dataFile - The data file.
        label - The label.
        location - The location of the table within the metadata definition
        readEntireFile - Set to 'true' to read in entire data file.
        keepQuotationsFlag - Flag to optionally preserve the leading and trailing quotes.
        Throws:
        java.lang.Exception - If table offset is null.
      • RawTableReader

        public RawTableReader​(java.lang.Object table,
                              java.net.URL dataFile,
                              java.net.URL label,
                              DataObjectLocation location,
                              boolean readEntireFile,
                              boolean keepQuotationsFlag,
                              java.io.RandomAccessFile raf,
                              java.io.InputStream inputStream)
                       throws java.lang.Exception
        Constructor.
        Parameters:
        table - The table object.
        dataFile - The data file.
        label - The label.
        location - The location of the table within the metadata definition
        readEntireFile - Set to 'true' to read in entire data file.
        keepQuotationsFlag - Flag to optionally preserve the leading and trailing quotes.
        fileChannel - file channel stream used for ByteWideFileAccessor
        inputStream - input stream of the file used for CSVReader
        Throws:
        java.lang.Exception - If table offset is null.
    • Method Detail

      • readNextLine

        public java.lang.String readNextLine()
                                      throws java.io.IOException
        Previews the next line in the data file.
        Returns:
        the next line, or null if no further lines.
        Throws:
        java.io.IOException
      • readNextFixedLine

        public java.lang.String readNextFixedLine()
                                           throws java.io.IOException
        Previews the next fixed length line in the data file.
        Returns:
        the next line, or null if no further lines.
        Throws:
        java.io.IOException
      • toRecord

        public FixedTableRecord toRecord​(java.lang.String line,
                                         long row)
        Converts the given line to a record.
        Parameters:
        line - The line to convert.
        row - The row number to set.
        Returns:
        A record.
      • readNext

        public TableRecord readNext()
                             throws java.io.IOException
        Reads the next record in the table.
        Overrides:
        readNext in class TableReader
        Returns:
        a table record, with the location set.
        Throws:
        java.io.IOException
      • getRecord

        public TableRecord getRecord​(long index,
                                     boolean keepQuotationsFlag)
                              throws java.lang.IllegalArgumentException,
                                     java.io.IOException
        Gets a record in the table.
        Overrides:
        getRecord in class TableReader
        Parameters:
        The - index of the record.
        Returns:
        a table record, with the location set.
        Throws:
        java.lang.IllegalArgumentException - if index is greater than the record number
        java.io.IOException