Class FitsTableWriter

java.lang.Object
uk.ac.starlink.table.StreamStarTableWriter
uk.ac.starlink.fits.AbstractFitsTableWriter
uk.ac.starlink.fits.FitsTableWriter
All Implemented Interfaces:
uk.ac.starlink.table.MultiStarTableWriter, uk.ac.starlink.table.StarTableWriter

public class FitsTableWriter extends AbstractFitsTableWriter
Handles writing of a StarTable in FITS binary format. Not all columns can be written to a FITS table, only those ones whose contentClass is in the following list:
  • Boolean
  • Character
  • Byte
  • Short
  • Integer
  • Long
  • Float
  • Double
  • Character
  • String
  • boolean[]
  • char[]
  • byte[]
  • short[]
  • int[]
  • long[]
  • float[]
  • double[]
  • String[]
In all other cases a warning message will be logged and the column will be ignored for writing purposes.

Output is currently to fixed-width columns only. For StarTable columns of variable size, a first pass is made through the table data to determine the largest size they assume, and the size in the output table is set to the largest of these. Excess space is padded with some sort of blank value (NaN for floating point values, spaces for strings, zero-like values otherwise).

Author:
Mark Taylor (Starlink)
  • Constructor Details

    • FitsTableWriter

      public FitsTableWriter()
      Default constructor.
    • FitsTableWriter

      @Deprecated public FitsTableWriter(String name, boolean allowSignedByte, WideFits wide)
      Deprecated.
      allows some configuration options but not others; use no-arg constructor and configuration methods instead
      Deprecated custom constructor.
  • Method Details

    • looksLikeFile

      public boolean looksLikeFile(String location)
      Returns true if location ends with something like ".fit" or ".fits" or ".fts".
      Parameters:
      location - filename
      Returns:
      true if it sounds like a fits file
    • createSerializer

      protected FitsTableSerializer createSerializer(uk.ac.starlink.table.StarTable table) throws IOException
      Description copied from class: AbstractFitsTableWriter
      Provides a suitable serializer for a given table. Note this should throw an IOException if it can be determined that the submitted table cannot be written by this writer, for instance if it has too many columns.
      Specified by:
      createSerializer in class AbstractFitsTableWriter
      Parameters:
      table - table to serialize
      Returns:
      FITS serializer
      Throws:
      IOException - if the table can't be written