# Class VariableFitsTableWriter

java.lang.Object
uk.ac.starlink.table.StreamStarTableWriter
uk.ac.starlink.fits.AbstractFitsTableWriter
uk.ac.starlink.fits.VariableFitsTableWriter

All Implemented Interfaces:
  `uk.ac.starlink.table.MultiStarTableWriter, uk.ac.starlink.table.StarTableWriter`

@Deprecated public class VariableFitsTableWriter extends AbstractFitsTableWriter
Deprecated.
Use
invalid reference

    uk.ac.starlink.votable.UnifiedFitsTableWriter

instead
TableWriter which writes FITS BINTABLEs with variable-length arrays where appropriate. Array-valued columns in the input StarTable which are declared with variable shapes (the last element of `ColumnInfo.getShape()` is negative) will be written in the output FITS file using the 'P' or 'Q' data type specifier with the actual data written in the BINTABLE extension heap - see the FITS document for details. Any other columns will get written in just the same way as by the `FitsTableWriter`.

Strings and String arrays ('A' descriptor) are not currently written in variable-length form.

Since:
  11 Jul 2008
Author:
  Mark Taylor

## Constructor Summary

Constructors
Constructor
Description
`VariableFitsTableWriter()`
Deprecated.
Constructs a writer with default characteristics.
`VariableFitsTableWriter(Boolean longIndexing, boolean allowSignedByte, 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 FitsTableSerializer`
`createSerializer(uk.ac.starlink.table.StarTable table)`
Deprecated.
Provides a suitable serializer for a given table.
`Boolean`
`getLongIndexing()`
Deprecated.
Indicates whether this writer will use P or Q format descriptors for writing variable-length arrays.
`boolean`
`looksLikeFile(String location)`
Deprecated.
Always returns false.
`void`
`setLongIndexing(Boolean longIndexing)`
Deprecated.
Sets whether this writer will use P or Q format descriptors for writing variable-length arrays.
`void`
`setStoragePolicy(uk.ac.starlink.table.StoragePolicy storagePolicy)`
Deprecated.
Sets the storage policy which will be used for temporary storage during writing.

### Methods inherited from class AbstractFitsTableWriter

`getAllowSignedByte, getAllowZeroLengthString, getConfig, getCurrentDate, getFormatName, getMetadataCards, getMimeType, getPadCharacter, getWide, getWriteDate, setAllowSignedByte, setAllowZeroLengthString, setFormatName, setPadCharacter, setWide, setWriteDate, writePrimaryHDU, writeStarTable, writeStarTables, writeStarTables, writeTableHDU`

### Methods inherited from class uk.ac.starlink.table.StreamStarTableWriter

`writeStarTable, writeStarTable`

### Methods inherited from class Object

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

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

`writeStarTable`

## Constructor Details

### VariableFitsTableWriter

public VariableFitsTableWriter()
Deprecated.
Constructs a writer with default characteristics. It chooses sensibly between using 'P' and 'Q' format.

### VariableFitsTableWriter

@Deprecated public VariableFitsTableWriter(Boolean longIndexing, boolean allowSignedByte, WideFits wide)
Deprecated.
allows some configuration options but not others; use no-arg constructor and configuration methods instead
Deprecated custom constructor.

## Method Details

### setStoragePolicy

public void setStoragePolicy(uk.ac.starlink.table.StoragePolicy storagePolicy)
Deprecated.
Sets the storage policy which will be used for temporary storage during writing. Temporary storage is required for the heap contents while the table body itself is being written. By default the system default storage policy is used.

Parameters:
  `storagePolicy` - policy to use

### setLongIndexing

public void setLongIndexing(Boolean longIndexing)
Deprecated.
Sets whether this writer will use P or Q format descriptors for writing variable-length arrays.

Parameters:
  `longIndexing` - TRUE for 'Q' (64-bit) indexing into the heap, FALSE for 'P' (32-bit) indexing into the heap, null to make a sensible choice

### getLongIndexing

public Boolean getLongIndexing()
Deprecated.
Indicates whether this writer will use P or Q format descriptors for writing variable-length arrays.

Returns:
  TRUE for 'Q' (64-bit) indexing into the heap, FALSE for 'P' (32-bit) indexing into the heap, null to make a sensible choice

### looksLikeFile

public boolean looksLikeFile(String location)
Deprecated.
Always returns false.

### createSerializer

protected FitsTableSerializer createSerializer(uk.ac.starlink.table.StarTable table) throws IOException
Deprecated.
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 class `AbstractFitsTableWriter`
Parameters:
  `table` - table to serialize
Returns:
  FITS serializer
Throws:
  `IOException` - if the table can't be written