uk.ac.starlink.fits

## Class ColFitsTableSerializer

- java.lang.Object
- - uk.ac.starlink.fits.ColFitsTableSerializer

- All Implemented Interfaces:
    FitsTableSerializer

      public class ColFitsTableSerializer
      extends java.lang.Object
      implements FitsTableSerializer

  Object which can serialize a StarTable to a data stream as a one-row FITS file in which each element contains an entire column of the table.
  Since:
    26 Jun 2006

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ColFitsTableSerializer(FitsTableSerializerConfig config, StarTable table)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.lang.String` | `getBadValue(int icol)` Returns the bad value (text of the TNULLnn card), if any, used for a given column.
    `int[]` | `getDimensions(int icol)` Returns the dimensions of the items which will be output for a given column.
    `char` | `getFormatChar(int icol)` Returns the FITS TFORM letter which describes the type of data output for a given column.
    `CardImage[]` | `getHeader()` Returns header cards suitable for the HDU which will contain the table.
    `long` | `getRowCount()` Returns the number of rows which will be output.
    `void` | `writeData(java.io.DataOutput out)` Write the FITS data unit populated by this serializer.

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

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

- - ### Constructor Detail

    - #### ColFitsTableSerializer

          public ColFitsTableSerializer(FitsTableSerializerConfig config,
                                        StarTable table)
                                 throws java.io.IOException

      Constructor.
      Parameters:
        `config` - configuration
        `table` - table to serialize
      Throws:
        `java.io.IOException` - if it won't be possible to write the given table

  - ### Method Detail

    - #### getHeader

          public CardImage[] getHeader()

      Description copied from interface: `FitsTableSerializer`
      Returns header cards suitable for the HDU which will contain the table. Additional metadata and an END marker will be added after these cards, so the returned array must not contain the END card.
      Specified by:
        `getHeader` in interface `FitsTableSerializer`
      Returns:
        header cards

    - #### writeData

          public void writeData(java.io.DataOutput out)
                         throws java.io.IOException

      Write the FITS data unit populated by this serializer.
      Specified by:
        `writeData` in interface `FitsTableSerializer`
      Parameters:
        `out` - destination stream
      Throws:
        `java.io.IOException`

    - #### getRowCount

          public long getRowCount()

      Description copied from interface: `FitsTableSerializer`
      Returns the number of rows which will be output.
      Specified by:
        `getRowCount` in interface `FitsTableSerializer`
      Returns:
        row count

    - #### getFormatChar

          public char getFormatChar(int icol)

      Description copied from interface: `FitsTableSerializer`
      Returns the FITS TFORM letter which describes the type of data output for a given column. This is as described by the FITS standard - 'J' for 4-byte integer, 'A' for characters, etc. If the column is not being output, `(char)0` will be returned.
      Specified by:
        `getFormatChar` in interface `FitsTableSerializer`
      Parameters:
        `icol` - column to query
      Returns:
        format letter for data in column `icol`, or 0 for a column being skipped

    - #### getDimensions

          public int[] getDimensions(int icol)

      Description copied from interface: `FitsTableSerializer`
      Returns the dimensions of the items which will be output for a given column. This will be `null` only if that column is not being output. Otherwise it will be a zero-element array for a scalar, 1-element array for a vector, etc.
      Specified by:
        `getDimensions` in interface `FitsTableSerializer`
      Parameters:
        `icol` - column to query
      Returns:
        dimensions array for data in column `icol` or `null` for a column being skipped

    - #### getBadValue

          public java.lang.String getBadValue(int icol)

      Description copied from interface: `FitsTableSerializer`
      Returns the bad value (text of the TNULLnn card), if any, used for a given column.
      Specified by:
        `getBadValue` in interface `FitsTableSerializer`
      Parameters:
        `icol` - column to query
      Returns:
        blank value string, or null if there is none or the column is being skipped