Package uk.ac.starlink.fits
Class FitsTableWriter
- java.lang.Object
-
- uk.ac.starlink.table.StreamStarTableWriter
-
- uk.ac.starlink.fits.AbstractFitsTableWriter
-
- uk.ac.starlink.fits.FitsTableWriter
-
- All Implemented Interfaces:
uk.ac.starlink.table.MultiStarTableWriter
,uk.ac.starlink.table.StarTableWriter
public class FitsTableWriter extends AbstractFitsTableWriter
Handles writing of a StarTable in FITS binary format. Not all columns can be written to a FITS table, only those ones whose contentClass is in the following list:- Boolean
- Character
- Byte
- Short
- Integer
- Long
- Float
- Double
- Character
- String
- boolean[]
- char[]
- byte[]
- short[]
- int[]
- long[]
- float[]
- double[]
- String[]
Output is currently to fixed-width columns only. For StarTable columns of variable size, a first pass is made through the table data to determine the largest size they assume, and the size in the output table is set to the largest of these. Excess space is padded with some sort of blank value (NaN for floating point values, spaces for strings, zero-like values otherwise).
- Author:
- Mark Taylor (Starlink)
-
-
Constructor Summary
Constructors Constructor Description FitsTableWriter()
Default constructor.FitsTableWriter(java.lang.String name, boolean allowSignedByte, WideFits wide)
Custom constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected FitsTableSerializer
createSerializer(uk.ac.starlink.table.StarTable table)
Provides a suitable serializer for a given table.boolean
looksLikeFile(java.lang.String location)
Returns true if location ends with something like ".fit" or ".fits" or ".fts".-
Methods inherited from class uk.ac.starlink.fits.AbstractFitsTableWriter
addMetadata, getCurrentDate, getFormatName, getMimeType, setFormatName, writePrimaryHDU, writeStarTable, writeStarTables, writeStarTables, writeTableHDU
-
-
-
-
Constructor Detail
-
FitsTableWriter
public FitsTableWriter()
Default constructor.
-
FitsTableWriter
public FitsTableWriter(java.lang.String name, boolean allowSignedByte, WideFits wide)
Custom constructor.- Parameters:
name
- writer nameallowSignedByte
- if true, bytes written as FITS signed bytes (TZERO=-128), if false bytes written as signed shortswide
- convention for representing over-wide tables; null to avoid this convention
-
-
Method Detail
-
looksLikeFile
public boolean looksLikeFile(java.lang.String location)
Returns true if location ends with something like ".fit" or ".fits" or ".fts".- Parameters:
location
- filename- Returns:
- true if it sounds like a fits file
-
createSerializer
protected FitsTableSerializer createSerializer(uk.ac.starlink.table.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 classAbstractFitsTableWriter
- Parameters:
table
- table to serialize- Returns:
- FITS serializer
- Throws:
java.io.IOException
- if the table can't be written
-
-