uk.ac.starlink.fits
Class ColFitsTableWriter

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

public class ColFitsTableWriter
extends AbstractFitsTableWriter

Handles writing of a StarTable in a column-oriented FITS binary table format. The table data is stored in a BINTABLE extension which has a single row; each cell in this row contains the data for an entire column of the represented table.

This rather specialised format may provide good performance for certain operations on very large, especially very wide, tables. Although it is FITS and can therefore be used in principle for data interchange, in practice most non-STIL processors are unlikely to be able to do much useful with it.

Since:
21 Jun 2006

Constructor Summary
ColFitsTableWriter()
          Default constructor.
ColFitsTableWriter(java.lang.String name, WideFits wide)
          Custom constructor.
 
Method Summary
protected  FitsTableSerializer createSerializer(StarTable table)
          Provides a suitable serializer for a given table.
 boolean looksLikeFile(java.lang.String location)
          Indicates whether the destination is of a familiar form for this kind of writer.
 
Methods inherited from class uk.ac.starlink.fits.AbstractFitsTableWriter
addMetadata, getCurrentDate, getFormatName, getMimeType, setFormatName, writePrimaryHDU, writeStarTable, writeStarTables, writeStarTables, writeTableHDU
 
Methods inherited from class uk.ac.starlink.table.StreamStarTableWriter
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.StarTableWriter
writeStarTable
 

Constructor Detail

ColFitsTableWriter

public ColFitsTableWriter()
Default constructor.


ColFitsTableWriter

public ColFitsTableWriter(java.lang.String name,
                          WideFits wide)
Custom constructor.

Parameters:
name - writer name
wide - convention for representing over-wide tables; null to avoid this convention
Method Detail

looksLikeFile

public boolean looksLikeFile(java.lang.String location)
Description copied from interface: StarTableWriter
Indicates whether the destination is of a familiar form for this kind of writer. This may be used to guess what kind of format a table should be written in. Implementations should return true for values of location which look like the normal form for their output format, for instance one with the usual file extension.

Parameters:
location - the location name (probably filename)
Returns:
true iff it looks like a file this writer would normally write

createSerializer

protected FitsTableSerializer createSerializer(StarTable table)
                                        throws java.io.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:
java.io.IOException - if the table can't be written