Package uk.ac.starlink.votable

## Class ColFitsPlusTableBuilder

- java.lang.Object
- - uk.ac.starlink.votable.ColFitsPlusTableBuilder

All Implemented Interfaces:
  `uk.ac.starlink.table.TableBuilder`

    public class ColFitsPlusTableBuilder
    extends java.lang.Object
    implements uk.ac.starlink.table.TableBuilder

Implementation of the `TableBuilder` interface which reads tables stored in 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 contains a byte[] array giving the table metadata as a VOTable, as for `FitsPlusTableBuilder`. If the VOTMETA card in the primary HDU does not have the value T, the VOTable metadata array is ignored.

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:
  26 Jun 2006
Author:
  Mark Taylor

### Constructor Summary

Constructors
`ColFitsPlusTableBuilder()` Default constructor.
`ColFitsPlusTableBuilder​(uk.ac.starlink.fits.WideFits wide)` Constructor.

### Method Summary

All Methods Static Methods Instance Methods Concrete Methods
`boolean` `canImport​(java.awt.datatransfer.DataFlavor flavor)`
`java.lang.String` `getFormatName()`
`static boolean` `isMagic​(byte[] buffer)`
`boolean` `looksLikeFile​(java.lang.String location)`
`uk.ac.starlink.table.StarTable` `makeStarTable​(uk.ac.starlink.util.DataSource datsrc, boolean wantRandom, uk.ac.starlink.table.StoragePolicy policy)`
`void` `streamStarTable​(java.io.InputStream in, uk.ac.starlink.table.TableSink sink, java.lang.String pos)`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### ColFitsPlusTableBuilder

    public ColFitsPlusTableBuilder()

Default constructor.

#### ColFitsPlusTableBuilder

    public ColFitsPlusTableBuilder​(uk.ac.starlink.fits.WideFits wide)

Constructor.

Parameters:
  `wide` - convention for representing extended columns; use null to avoid use of extended columns

### Method Detail

#### getFormatName

    public java.lang.String getFormatName()

Specified by:
  `getFormatName` in interface `uk.ac.starlink.table.TableBuilder`

#### looksLikeFile

    public boolean looksLikeFile​(java.lang.String location)

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

#### streamStarTable

    public void streamStarTable​(java.io.InputStream in,
                                uk.ac.starlink.table.TableSink sink,
                                java.lang.String pos)
                         throws uk.ac.starlink.table.TableFormatException

Specified by:
  `streamStarTable` in interface `uk.ac.starlink.table.TableBuilder`
Throws:
  `uk.ac.starlink.table.TableFormatException`

#### canImport

    public boolean canImport​(java.awt.datatransfer.DataFlavor flavor)

Specified by:
  `canImport` in interface `uk.ac.starlink.table.TableBuilder`

#### makeStarTable

    public uk.ac.starlink.table.StarTable makeStarTable​(uk.ac.starlink.util.DataSource datsrc,
                                                        boolean wantRandom,
                                                        uk.ac.starlink.table.StoragePolicy policy)
                                                 throws java.io.IOException

Specified by:
  `makeStarTable` in interface `uk.ac.starlink.table.TableBuilder`
Throws:
  `java.io.IOException`

#### isMagic

    public static boolean isMagic​(byte[] buffer)