public abstract class VOTableFitsTableWriter extends AbstractFitsTableWriter
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.| Modifier | Constructor and Description |
|---|---|
protected |
VOTableFitsTableWriter(java.lang.String formatName)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected abstract void |
customisePrimaryHeader(nom.tam.fits.Header hdr)
Hook for adding custom entries to the FITS header which is written
to the primary HDU.
|
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 |
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.
|
void |
setAllowSignedByte(boolean allowSignedByte)
Configures how Byte-valued columns are written.
|
void |
setVotableVersion(VOTableVersion votVersion)
Sets the version of the VOTable standard to use for encoding metadata
in the primary HDU.
|
void |
writeStarTables(TableSequence tableSeq,
java.io.OutputStream out)
Writes tables.
|
addMetadata, createSerializer, getAllowSignedByte, getAllowZeroLengthString, getConfig, getCurrentDate, getFormatName, getMimeType, getPadCharacter, getWide, getWriteDate, setAllowZeroLengthString, setFormatName, setPadCharacter, setWide, setWriteDate, writePrimaryHDU, writeStarTable, writeStarTables, writeTableHDUwriteStarTable, writeStarTableclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitlooksLikeFile, writeStarTableprotected VOTableFitsTableWriter(java.lang.String formatName)
formatName - handler format namepublic void setAllowSignedByte(boolean allowSignedByte)
AbstractFitsTableWriterTFORMn='B', TZERO=-128).
If false, they are written as FITS signed 16-bit integers.setAllowSignedByte in class AbstractFitsTableWriterallowSignedByte - true to write offset bytes,
false to write shortspublic void writeStarTables(TableSequence tableSeq, java.io.OutputStream out) throws java.io.IOException
AbstractFitsTableWriterAbstractFitsTableWriter.writePrimaryHDU(java.io.DataOutput)
to write the primary HDU.
Subclasses which want to put something related to the input tables
into the primary HDU will need to override this method
(writeStarTables).writeStarTables in interface MultiStarTableWriterwriteStarTables in class AbstractFitsTableWritertableSeq - sequence of tables to writeout - destination streamjava.io.IOExceptionpublic void setVotableVersion(VOTableVersion votVersion)
votVersion - VOTable version to useprotected abstract void customisePrimaryHeader(nom.tam.fits.Header hdr)
throws nom.tam.fits.HeaderCardException
hdr - headernom.tam.fits.HeaderCardExceptionpublic boolean isMagic(byte[] buffer)
isMagic(int,java.lang.String,java.lang.String) method.buffer - start of a filebuffer looks like it contains a
file written by this handlerprotected boolean isMagic(int icard,
java.lang.String key,
java.lang.String value)
VOTableFitsTableWriter 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 in customisePrimaryHeader(nom.tam.fits.Header)).icard - 0-based card indexkey - card namevalue - card value