uk.ac.starlink.parquet

## Class SequentialParquetStarTable

- java.lang.Object
- - uk.ac.starlink.table.AbstractStarTable
  - - uk.ac.starlink.parquet.ParquetStarTable
    - - uk.ac.starlink.parquet.SequentialParquetStarTable

- All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable, StarTable

      public class SequentialParquetStarTable
      extends ParquetStarTable

  ParquetStarTable concrete subclass that provides sequential access only.
  Since:
    25 Feb 2021

- - ### Field Summary

    - ### Fields inherited from class uk.ac.starlink.parquet.ParquetStarTable

      `CREATEDBY_INFO`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `SequentialParquetStarTable(IOSupplier<ParquetFileReader> pfrSupplier)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `RowSequence` | `getRowSequence()` Returns an object which can iterate over all the rows in the table sequentially.
    `RowSplittable` | `getRowSplittable()` Returns a default splittable which relies on table random access if available, or otherwise provides only sequential access (no splits).
    `boolean` | `isRandom()` The `AbstractStarTable` implementation of this method returns `false`.

    - ### Methods inherited from class uk.ac.starlink.parquet.ParquetStarTable

      `getColumnCount, getColumnInfo, getColumnReadStore, getInputColumn, getParquetFileReader, getRowCount, getSchema`

    - ### Methods inherited from class uk.ac.starlink.table.AbstractStarTable

      `checkedLongToInt, close, getCell, getColumnAuxDataInfos, getName, getParameters, getRow, getRowAccess, getURL, setName, setParameters, setURL`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface uk.ac.starlink.table.StarTable

      `getParameterByName, setParameter`

- - ### Constructor Detail

    - #### SequentialParquetStarTable

          public SequentialParquetStarTable(IOSupplier<ParquetFileReader> pfrSupplier)
                                     throws java.io.IOException

      Constructor.
      Parameters:
        `pfrSupplier` - access to parquet data file
      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### isRandom

          public boolean isRandom()

      Description copied from class: `AbstractStarTable`
      The `AbstractStarTable` implementation of this method returns `false`.
      Specified by:
        `isRandom` in interface `StarTable`
      Overrides:
        `isRandom` in class `AbstractStarTable`
      Returns:
        `true` if table random access methods are available

    - #### getRowSequence

          public RowSequence getRowSequence()
                                     throws java.io.IOException

      Description copied from interface: `StarTable`
      Returns an object which can iterate over all the rows in the table sequentially. Each such returned object is safe for use within a single thread, but not in general from multiple threads concurrently.
      Specified by:
        `getRowSequence` in interface `StarTable`
      Specified by:
        `getRowSequence` in class `AbstractStarTable`
      Returns:
        new RowSequence
      Throws:
        `java.io.IOException` - if there is an error providing access

    - #### getRowSplittable

          public RowSplittable getRowSplittable()
                                         throws java.io.IOException

      Description copied from class: `AbstractStarTable`
      Returns a default splittable which relies on table random access if available, or otherwise provides only sequential access (no splits).

      It is often possible to provide a better implementation than this.

      Specified by:
        `getRowSplittable` in interface `StarTable`
      Overrides:
        `getRowSplittable` in class `AbstractStarTable`
      Returns:
        `Tables.getDefaultRowSplittable(this)`
      Throws:
        `java.io.IOException`
      See Also:
        `RowRunner`