Class FitsPlusTableWriter

java.lang.Object
uk.ac.starlink.table.StreamStarTableWriter
uk.ac.starlink.fits.AbstractFitsTableWriter
uk.ac.starlink.votable.VOTableFitsTableWriter
uk.ac.starlink.votable.FitsPlusTableWriter
All Implemented Interfaces:
uk.ac.starlink.table.Documented, uk.ac.starlink.table.formats.DocumentedIOHandler, uk.ac.starlink.table.MultiStarTableWriter, uk.ac.starlink.table.StarTableWriter

public class FitsPlusTableWriter extends VOTableFitsTableWriter implements uk.ac.starlink.table.formats.DocumentedIOHandler
TableWriter which writes table data into the first extension of a FITS file, Unlike FitsTableWriter however, the primary extension is not left contentless, instead it gets the text of a DATA-less VOTable written into it. This VOTable describes the metadata of the table, as if the DATA element contained a FITS element referencing the first extension HDU of the file. Tables stored in this format have all the rich metadata associated with VOTables, and benefit from the compactness of FITS tables, without the considerable disdvantage of being split into two files.

The header cards in the primary HDU look like this:

     SIMPLE  =                    T / Standard FITS format
     BITPIX  =                    8 / Character data
     NAXIS   =                    1 / Text string
     NAXIS1  =                 nnnn / Number of characters
     VOTMETA =                    T / Table metadata in VOTABLE format
     EXTEND  =                    T / There are standard extensions
 
the VOTMETA card in particular marking that this HDU contains VOTable metadata.
Since:
26 Aug 2004
Author:
Mark Taylor (Starlink)
  • Constructor Summary

    Constructors
    Constructor
    Description
    Default constructor.
    FitsPlusTableWriter(String name, uk.ac.starlink.fits.WideFits wide)
    Deprecated.
    allows some configuration options but not others; use no-arg constructor and configuration methods instead
  • Method Summary

    Modifier and Type
    Method
    Description
    protected uk.ac.starlink.fits.FitsTableSerializer
    createSerializer(uk.ac.starlink.table.StarTable table)
     
    boolean
     
    protected uk.ac.starlink.fits.CardImage[]
    Returns implementation-specific header cards to be added to the Primary HDU of FITS files written by this writer.
     
    static uk.ac.starlink.table.StarTableWriter[]
    Returns a list of FITS-plus table writers with variant values of attributes.
     
    protected boolean
    isMagic(int icard, String key, Object value)
    Tests a header card to see if it looks like part of the magic number for the format written by this handler.
    boolean
     

    Methods inherited from class uk.ac.starlink.votable.VOTableFitsTableWriter

    isMagic, setAllowSignedByte, setVotableVersion, writeStarTables

    Methods inherited from class uk.ac.starlink.fits.AbstractFitsTableWriter

    getAllowSignedByte, getAllowZeroLengthString, getConfig, getCurrentDate, getFormatName, getMetadataCards, getMimeType, getPadCharacter, getWide, getWriteDate, setAllowZeroLengthString, setFormatName, setPadCharacter, setWide, setWriteDate, writePrimaryHDU, writeStarTable, writeStarTables, writeTableHDU

    Methods inherited from class uk.ac.starlink.table.StreamStarTableWriter

    writeStarTable, writeStarTable

    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.formats.DocumentedIOHandler

    readText

    Methods inherited from interface uk.ac.starlink.table.StarTableWriter

    writeStarTable
  • Constructor Details

    • FitsPlusTableWriter

      public FitsPlusTableWriter()
      Default constructor.
    • FitsPlusTableWriter

      @Deprecated public FitsPlusTableWriter(String name, uk.ac.starlink.fits.WideFits wide)
      Deprecated.
      allows some configuration options but not others; use no-arg constructor and configuration methods instead
      Deprecated custom constructor.
  • Method Details

    • getExtensions

      public String[] getExtensions()
      Specified by:
      getExtensions in interface uk.ac.starlink.table.formats.DocumentedIOHandler
    • looksLikeFile

      public boolean looksLikeFile(String location)
      Specified by:
      looksLikeFile in interface uk.ac.starlink.table.StarTableWriter
    • docIncludesExample

      public boolean docIncludesExample()
      Specified by:
      docIncludesExample in interface uk.ac.starlink.table.formats.DocumentedIOHandler
    • getXmlDescription

      public String getXmlDescription()
      Specified by:
      getXmlDescription in interface uk.ac.starlink.table.Documented
    • getCustomPrimaryHeaderCards

      protected uk.ac.starlink.fits.CardImage[] getCustomPrimaryHeaderCards()
      Description copied from class: VOTableFitsTableWriter
      Returns implementation-specific header cards to be added to the Primary HDU of FITS files written by this writer.
      Specified by:
      getCustomPrimaryHeaderCards in class VOTableFitsTableWriter
      Returns:
      header cards
    • isMagic

      protected boolean isMagic(int icard, String key, Object value)
      Description copied from class: VOTableFitsTableWriter
      Tests a header card to see if it looks like part of the magic number for the format written by this handler. The VOTableFitsTableWriter implementation tests that the first four cards read:
          SIMPLE = T
          BITPIX = 8
          NAXIS  = 1
          NAXIS1 = ???
       
      Subclasses may override this to add tests for later cards (as provided by VOTableFitsTableWriter.getCustomPrimaryHeaderCards()).
      Overrides:
      isMagic in class VOTableFitsTableWriter
      Parameters:
      icard - 0-based card index
      key - card name
      value - card value
      Returns:
      true iff the presented card is one that could have been written by this writer
    • createSerializer

      protected uk.ac.starlink.fits.FitsTableSerializer createSerializer(uk.ac.starlink.table.StarTable table) throws IOException
      Specified by:
      createSerializer in class uk.ac.starlink.fits.AbstractFitsTableWriter
      Throws:
      IOException
    • getStarTableWriters

      public static uk.ac.starlink.table.StarTableWriter[] getStarTableWriters()
      Returns a list of FITS-plus table writers with variant values of attributes. In fact this just returns two functionally identical instances but with different format names: one is "fits" and the other is "fits-plus".
      Returns:
      table writers