uk.ac.starlink.fits

## Class VariableFitsTableSerializer

- java.lang.Object
- - uk.ac.starlink.fits.StandardFitsTableSerializer
  - - uk.ac.starlink.fits.VariableFitsTableSerializer

- All Implemented Interfaces:
    FitsTableSerializer

      public class VariableFitsTableSerializer
      extends StandardFitsTableSerializer

  FitsTableSerializer which can write variable array-valued columns using the 'P' or 'Q' TFORM formatting characters.
  Since:
    10 Jul 2008

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `VariableFitsTableSerializer(FitsTableSerializerConfig config, StarTable table, StoragePolicy storagePolicy)` Constructor.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `nom.tam.fits.Header` | `getHeader()` Returns a header suitable for the HDU which will contain the table.
    `void` | `set64BitMode(boolean useQ)` Sets whether this serializer should use the 'P' descriptor (32-bit addressing into the heap) or the 'Q' descriptor (64-bit addressing into the heap) for variable-length array columns.
    `void` | `writeData(java.io.DataOutput out)` Writes the HDU data for the table to an output stream.

    - ### Methods inherited from class uk.ac.starlink.fits.StandardFitsTableSerializer

      `getBadValue, getConfig, getDimensions, getFormatChar, getHealpixHeaders, getRowCount, writeDataOnly`

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

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

- - ### Constructor Detail

    - #### VariableFitsTableSerializer

          public VariableFitsTableSerializer(FitsTableSerializerConfig config,
                                             StarTable table,
                                             StoragePolicy storagePolicy)
                                      throws java.io.IOException

      Constructor.
      Parameters:
        `config` - FITS configuration
        `table` - table to write
        `storagePolicy` - policy for acquiring byte array scratch buffers
      Throws:
        `java.io.IOException` - if it won't be possible to write the given table

  - ### Method Detail

    - #### set64BitMode

          public void set64BitMode(boolean useQ)

      Sets whether this serializer should use the 'P' descriptor (32-bit addressing into the heap) or the 'Q' descriptor (64-bit addressing into the heap) for variable-length array columns. Normally Q is only used if the heap is larger than 2^31.
      Parameters:
        `useQ` - true for Q, false for P

    - #### getHeader

          public nom.tam.fits.Header getHeader()
                                        throws nom.tam.fits.HeaderCardException

      Description copied from interface: `FitsTableSerializer`
      Returns a header suitable for the HDU which will contain the table.
      Specified by:
        `getHeader` in interface `FitsTableSerializer`
      Overrides:
        `getHeader` in class `StandardFitsTableSerializer`
      Returns:
        header object
      Throws:
        `nom.tam.fits.HeaderCardException`

    - #### writeData

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

      Description copied from interface: `FitsTableSerializer`
      Writes the HDU data for the table to an output stream.
      Specified by:
        `writeData` in interface `FitsTableSerializer`
      Overrides:
        `writeData` in class `StandardFitsTableSerializer`
      Parameters:
        `out` - destination stream
      Throws:
        `java.io.IOException`