Package uk.ac.starlink.votable
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, UnlikeFitsTableWriter
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 FitsPlusTableWriter()
Default constructor.FitsPlusTableWriter(java.lang.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
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected uk.ac.starlink.fits.FitsTableSerializer
createSerializer(uk.ac.starlink.table.StarTable table)
boolean
docIncludesExample()
protected 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.java.lang.String[]
getExtensions()
static uk.ac.starlink.table.StarTableWriter[]
getStarTableWriters()
Returns a list of FITS-plus table writers with variant values of attributes.java.lang.String
getXmlDescription()
protected boolean
isMagic(int icard, java.lang.String key, java.lang.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
looksLikeFile(java.lang.String location)
-
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
-
-
-
-
Constructor Detail
-
FitsPlusTableWriter
public FitsPlusTableWriter()
Default constructor.
-
FitsPlusTableWriter
@Deprecated public FitsPlusTableWriter(java.lang.String name, uk.ac.starlink.fits.WideFits wide)
Deprecated.allows some configuration options but not others; use no-arg constructor and configuration methods insteadDeprecated custom constructor.
-
-
Method Detail
-
getExtensions
public java.lang.String[] getExtensions()
- Specified by:
getExtensions
in interfaceuk.ac.starlink.table.formats.DocumentedIOHandler
-
looksLikeFile
public boolean looksLikeFile(java.lang.String location)
- Specified by:
looksLikeFile
in interfaceuk.ac.starlink.table.StarTableWriter
-
docIncludesExample
public boolean docIncludesExample()
- Specified by:
docIncludesExample
in interfaceuk.ac.starlink.table.formats.DocumentedIOHandler
-
getXmlDescription
public java.lang.String getXmlDescription()
- Specified by:
getXmlDescription
in interfaceuk.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 classVOTableFitsTableWriter
- Returns:
- header cards
-
isMagic
protected boolean isMagic(int icard, java.lang.String key, java.lang.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. 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 byVOTableFitsTableWriter.getCustomPrimaryHeaderCards()
).- 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
-
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
-
-