Package uk.ac.starlink.fits

## Class ColFitsStarTable

- java.lang.Object
- - uk.ac.starlink.table.AbstractStarTable
  - - uk.ac.starlink.fits.ColFitsStarTable

- All Implemented Interfaces:
    `java.io.Closeable`, `java.lang.AutoCloseable`, `uk.ac.starlink.table.StarTable`

      public class ColFitsStarTable
      extends uk.ac.starlink.table.AbstractStarTable
      implements java.io.Closeable

  StarTable based on a single-row FITS BINTABLE which contains the data for an entire column in each cell of the table. The BINTABLE must be the first extension of a FITS file.

  Some instances of this class hang on to file descriptors. If you are in danger of running out of that resource before insstances are garbage collected, you can call the `close()` method to release them. Attempting to read data following such a call may result in an exception.

  Since:
    21 Jun 2006
  Author:
    Mark Taylor

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ColFitsStarTable​(uk.ac.starlink.util.DataSource datsrc, nom.tam.fits.Header hdr, long dataPos, boolean force, WideFits wide)` | Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `close()` |
    `java.lang.Object` | `getCell​(long irow, int icol)` |
    `int` | `getColumnCount()` |
    `uk.ac.starlink.table.ColumnInfo` | `getColumnInfo​(int icol)` |
    `java.lang.Object[]` | `getRow​(long irow)` |
    `long` | `getRowCount()` |
    `uk.ac.starlink.table.RowSequence` | `getRowSequence()` |
    `boolean` | `isRandom()` |

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

      `checkedLongToInt, getColumnAuxDataInfos, getName, getParameterByName, getParameters, getURL, setName, setParameter, setParameters, setURL`

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

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

- - ### Constructor Detail

    - #### ColFitsStarTable

          public ColFitsStarTable​(uk.ac.starlink.util.DataSource datsrc,
                                  nom.tam.fits.Header hdr,
                                  long dataPos,
                                  boolean force,
                                  WideFits wide)
                           throws java.io.IOException

      Constructor.
      Parameters:
        `datsrc` - data source containing the FITS data
        `hdr` - header of the HDU containing the table
        `dataPos` - offset into `file` of the start of the data part of the HDU
        `force` - true to make a table if we possibly can, false to reject if it doesn't look very much like one
        `wide` - convention for representing extended columns; use null to avoid use of extended columns
      Throws:
        `java.io.IOException`

  - ### Method Detail

    - #### getColumnCount

          public int getColumnCount()

      Specified by:
        `getColumnCount` in interface `uk.ac.starlink.table.StarTable`
      Specified by:
        `getColumnCount` in class `uk.ac.starlink.table.AbstractStarTable`

    - #### getRowCount

          public long getRowCount()

      Specified by:
        `getRowCount` in interface `uk.ac.starlink.table.StarTable`
      Specified by:
        `getRowCount` in class `uk.ac.starlink.table.AbstractStarTable`

    - #### isRandom

          public boolean isRandom()

      Specified by:
        `isRandom` in interface `uk.ac.starlink.table.StarTable`
      Overrides:
        `isRandom` in class `uk.ac.starlink.table.AbstractStarTable`

    - #### getColumnInfo

          public uk.ac.starlink.table.ColumnInfo getColumnInfo​(int icol)

      Specified by:
        `getColumnInfo` in interface `uk.ac.starlink.table.StarTable`
      Specified by:
        `getColumnInfo` in class `uk.ac.starlink.table.AbstractStarTable`

    - #### getCell

          public java.lang.Object getCell​(long irow,
                                          int icol)
                                   throws java.io.IOException

      Specified by:
        `getCell` in interface `uk.ac.starlink.table.StarTable`
      Overrides:
        `getCell` in class `uk.ac.starlink.table.AbstractStarTable`
      Throws:
        `java.io.IOException`

    - #### getRow

          public java.lang.Object[] getRow​(long irow)
                                    throws java.io.IOException

      Specified by:
        `getRow` in interface `uk.ac.starlink.table.StarTable`
      Overrides:
        `getRow` in class `uk.ac.starlink.table.AbstractStarTable`
      Throws:
        `java.io.IOException`

    - #### getRowSequence

          public uk.ac.starlink.table.RowSequence getRowSequence()
                                                          throws java.io.IOException

      Specified by:
        `getRowSequence` in interface `uk.ac.starlink.table.StarTable`
      Specified by:
        `getRowSequence` in class `uk.ac.starlink.table.AbstractStarTable`
      Throws:
        `java.io.IOException`

    - #### close

          public void close()
                     throws java.io.IOException

      Specified by:
        `close` in interface `java.lang.AutoCloseable`
      Specified by:
        `close` in interface `java.io.Closeable`
      Throws:
        `java.io.IOException`