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.Documented`, `uk.ac.starlink.table.formats.DocumentedIOHandler`, `uk.ac.starlink.table.MultiStarTableWriter`, `uk.ac.starlink.table.StarTableWriter`

public class ColFitsPlusTableWriter extends VOTableFitsTableWriter implements uk.ac.starlink.table.formats.DocumentedIOHandler
Handles writing of a `StarTable` 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 for `FitsPlusTableWriter`.

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(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

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.
`String[]`
`getExtensions()`
`String`
`getXmlDescription()`
`protected boolean`
`isMagic(int icard, String key, 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(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`

### 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.formats.DocumentedIOHandler

`readText`

### Methods inherited from interface uk.ac.starlink.table.StarTableWriter

`writeStarTable`

## Constructor Details

### ColFitsPlusTableWriter

public ColFitsPlusTableWriter()
Default constructor.

### ColFitsPlusTableWriter

@Deprecated public ColFitsPlusTableWriter(String name, uk.ac.starlink.fits.WideFits wide)
Deprecated.
allows some configuration options but not others; use no-arg constructor and configuration methods instead
Deprecated custom constructor.

## Method Details

### getExtensions

public String[] getExtensions()

Specified by:
  `getExtensions` in interface `uk.ac.starlink.table.formats.DocumentedIOHandler`

### looksLikeFile

public boolean looksLikeFile(String location)

Specified by:
  `looksLikeFile` in interface `uk.ac.starlink.table.StarTableWriter`

### docIncludesExample

public boolean docIncludesExample()

Specified by:
  `docIncludesExample` in interface `uk.ac.starlink.table.formats.DocumentedIOHandler`

### getXmlDescription

public String getXmlDescription()

Specified by:
  `getXmlDescription` in interface `uk.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 class `VOTableFitsTableWriter`
Returns:
  header cards

### isMagic

protected boolean isMagic(int icard, String key, 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. The `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 provided by `VOTableFitsTableWriter.getCustomPrimaryHeaderCards()`).

Overrides:
  `isMagic` in class `VOTableFitsTableWriter`
Parameters:
  `icard` - 0-based card index
  `key` - card name
  `value` - 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 IOException

Specified by:
  `createSerializer` in class `uk.ac.starlink.fits.AbstractFitsTableWriter`
Throws:
  `IOException`