Package uk.ac.starlink.votable
Class VOTableFitsTableWriter
java.lang.Object
uk.ac.starlink.table.StreamStarTableWriter
uk.ac.starlink.fits.AbstractFitsTableWriter
uk.ac.starlink.votable.VOTableFitsTableWriter
- All Implemented Interfaces:
uk.ac.starlink.table.MultiStarTableWriter
,uk.ac.starlink.table.StarTableWriter
- Direct Known Subclasses:
ColFitsPlusTableWriter
,FitsPlusTableWriter
public abstract class VOTableFitsTableWriter
extends uk.ac.starlink.fits.AbstractFitsTableWriter
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.
Tables stored using this (non-standard) mechanism have all the rich
metadata associated with VOTables, and benefit from the compactness
of FITS tables, withouth the considerable disadvantage of being split
into two files.- Since:
- 26 Aug 2004
- Author:
- Mark Taylor (Starlink)
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract uk.ac.starlink.fits.CardImage[]
Returns implementation-specific header cards to be added to the Primary HDU of FITS files written by this writer.boolean
isMagic
(byte[] buffer) Determines whether a given byte buffer looks like it contains the start of a primary header written by this writer.protected boolean
Tests a header card to see if it looks like part of the magic number for the format written by this handler.void
setAllowSignedByte
(boolean allowSignedByte) void
setVotableVersion
(VOTableVersion votVersion) Sets the version of the VOTable standard to use for encoding metadata in the primary HDU.void
writeStarTables
(uk.ac.starlink.table.TableSequence tableSeq, OutputStream out) Methods inherited from class uk.ac.starlink.fits.AbstractFitsTableWriter
createSerializer, 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.StarTableWriter
looksLikeFile, writeStarTable
-
Constructor Details
-
VOTableFitsTableWriter
Constructor.- Parameters:
formatName
- handler format name
-
-
Method Details
-
setAllowSignedByte
public void setAllowSignedByte(boolean allowSignedByte) - Overrides:
setAllowSignedByte
in classuk.ac.starlink.fits.AbstractFitsTableWriter
-
writeStarTables
public void writeStarTables(uk.ac.starlink.table.TableSequence tableSeq, OutputStream out) throws IOException - Specified by:
writeStarTables
in interfaceuk.ac.starlink.table.MultiStarTableWriter
- Overrides:
writeStarTables
in classuk.ac.starlink.fits.AbstractFitsTableWriter
- Throws:
IOException
-
setVotableVersion
Sets the version of the VOTable standard to use for encoding metadata in the primary HDU.- Parameters:
votVersion
- VOTable version to use
-
getCustomPrimaryHeaderCards
protected abstract uk.ac.starlink.fits.CardImage[] getCustomPrimaryHeaderCards()Returns implementation-specific header cards to be added to the Primary HDU of FITS files written by this writer.- Returns:
- header cards
-
isMagic
public boolean isMagic(byte[] buffer) Determines whether a given byte buffer looks like it contains the start of a primary header written by this writer. Calls the protectedisMagic(int,java.lang.String,java.lang.Object)
method.- Parameters:
buffer
- start of a file- Returns:
- true iff
buffer
looks like it contains a file written by this handler
-
isMagic
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 provided bygetCustomPrimaryHeaderCards()
).- 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
-