# Interface MultiStarTableWriter

All Superinterfaces:
  `StarTableWriter`

All Known Implementing Classes:
  `HTMLTableWriter, TextTableWriter`

public interface MultiStarTableWriter extends StarTableWriter
Interface for table output handlers that can write multiple tables to the same stream. It should be possible in principle (and ideally in practice using a corresponding input handler) to recover these as an array of distinct tables by reading the result later. It is not in general expected that the tables have similar characteristics.

Since:
  1 Jul 2010
Author:
  Mark Taylor

## Method Summary

Modifier and Type
Method
Description
`void`
`writeStarTables(TableSequence tableSeq, OutputStream out)`
Writes an array of StarTable objects to a given output stream.
`void`
`writeStarTables(TableSequence tableSeq, String location, StarTableOutput sto)`
Writes an array of StarTable objects to a given location.

### Methods inherited from interface StarTableWriter

`getFormatName, getMimeType, looksLikeFile, writeStarTable, writeStarTable`

## Method Details

### writeStarTables

void writeStarTables(TableSequence tableSeq, OutputStream out) throws IOException
Writes an array of StarTable objects to a given output stream. The implementation can assume that the stream is suitable for direct writing (for instance it should not normally wrap it in a `BufferedOutputStream`), and should not close it at the end of the call.

Parameters:
  `tableSeq` - sequence of tables to write
  `out` - destination stream
Throws:
  `IOException`

### writeStarTables

void writeStarTables(TableSequence tableSeq, String location, StarTableOutput sto) throws IOException
Writes an array of StarTable objects to a given location. Implementations are free to interpret the `location` argument in any way appropriate for them. Typically however the location will simply be used to get an output stream (for instance interpreting it as a filename). In this case the `sto` argument should normally be used to turn `location` into a stream.

Parameters:
  `tableSeq` - sequence of tables to write
  `location` - destination for tables
  `sto` - StarTableOutput instance
Throws:
  `IOException`