Package uk.ac.starlink.votable
Class ColFitsPlusTableWriter
- java.lang.Object
-
- uk.ac.starlink.table.StreamStarTableWriter
-
- uk.ac.starlink.fits.AbstractFitsTableWriter
-
- uk.ac.starlink.votable.VOTableFitsTableWriter
-
- uk.ac.starlink.votable.ColFitsPlusTableWriter
-
- All Implemented Interfaces:
uk.ac.starlink.table.MultiStarTableWriter
,uk.ac.starlink.table.StarTableWriter
public class ColFitsPlusTableWriter extends VOTableFitsTableWriter
Handles writing of aStarTable
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. The primary HDU is a byte array containing a VOTable representation of the table metadata, as forFitsPlusTableWriter
.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
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Constructor Description ColFitsPlusTableWriter()
Default constructor.ColFitsPlusTableWriter(java.lang.String name, uk.ac.starlink.fits.WideFits wide)
Custom constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected uk.ac.starlink.fits.FitsTableSerializer
createSerializer(uk.ac.starlink.table.StarTable table)
protected void
customisePrimaryHeader(nom.tam.fits.Header hdr)
Hook for adding custom entries to the FITS header which is written to the primary HDU.protected boolean
isMagic(int icard, java.lang.String key, java.lang.String value)
Tests a header card to see if it looks like part of the magic number for the format written by this handler.boolean
looksLikeFile(java.lang.String location)
-
Methods inherited from class uk.ac.starlink.votable.VOTableFitsTableWriter
isMagic, setVotableVersion, writeStarTables
-
Methods inherited from class uk.ac.starlink.fits.AbstractFitsTableWriter
addMetadata, getCurrentDate, getFormatName, getMimeType, setFormatName, writePrimaryHDU, writeStarTable, writeStarTables, writeTableHDU
-
-
-
-
Constructor Detail
-
ColFitsPlusTableWriter
public ColFitsPlusTableWriter()
Default constructor.
-
ColFitsPlusTableWriter
public ColFitsPlusTableWriter(java.lang.String name, uk.ac.starlink.fits.WideFits wide)
Custom constructor.- Parameters:
name
- writer namewide
- convention for representing over-wide tables; null to avoid this convention
-
-
Method Detail
-
looksLikeFile
public boolean looksLikeFile(java.lang.String location)
-
customisePrimaryHeader
protected void customisePrimaryHeader(nom.tam.fits.Header hdr) throws nom.tam.fits.HeaderCardException
Description copied from class:VOTableFitsTableWriter
Hook for adding custom entries to the FITS header which is written to the primary HDU. This is called just after the required cards (SIMPLE, BITPIX, NAXIS, NAXIS1 ) are added and just before the EXTEND card.- Specified by:
customisePrimaryHeader
in classVOTableFitsTableWriter
- Throws:
nom.tam.fits.HeaderCardException
-
isMagic
protected boolean isMagic(int icard, java.lang.String key, java.lang.String 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. TheVOTableFitsTableWriter
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 written inVOTableFitsTableWriter.customisePrimaryHeader(nom.tam.fits.Header)
).- Overrides:
isMagic
in classVOTableFitsTableWriter
- Parameters:
icard
- 0-based card indexkey
- card namevalue
- 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 java.io.IOException
- Specified by:
createSerializer
in classuk.ac.starlink.fits.AbstractFitsTableWriter
- Throws:
java.io.IOException
-
-