# Interface TableSaveDialog

All Known Implementing Classes:
  `FilestoreTableSaveDialog, SQLWriteDialog, SystemTableSaveDialog`

public interface TableSaveDialog
Interface for subdialogues which know how to save a table to some destination or other.

Since:
  25 Feb 2005
Author:
  Mark Taylor (Starlink)

## Method Summary

Modifier and Type
Method
Description
`String`
`getDescription()`
Returns this dialogue's description (may be used as an Action's SHORT_DESCRIPTION property).
`Icon`
`getIcon()`
Returns an icon for use in identifying this dialogue.
`String`
`getName()`
Returns this dialogue's name (may be used as an Action's NAME property).
`boolean`
`isAvailable()`
Indicates whether there is a reasonable chance of this dialogue working.
`boolean`
`showSaveDialog(Component parent, StarTableOutput sto, ComboBoxModel<String> formatModel, StarTable[] tables)`
Pops up a modal dialogue which allows the user to save the given tables to a single destination.

## Method Details

### getName

String getName()
Returns this dialogue's name (may be used as an Action's NAME property).

Returns:
  name

### getDescription

String getDescription()
Returns this dialogue's description (may be used as an Action's SHORT_DESCRIPTION property).

Returns:
  description

### getIcon

Icon getIcon()
Returns an icon for use in identifying this dialogue.

Returns:
  icon

### isAvailable

boolean isAvailable()
Indicates whether there is a reasonable chance of this dialogue working.

Returns:
  false iff there's no point offering use of this dialogue

### showSaveDialog

boolean showSaveDialog(Component parent, StarTableOutput sto, ComboBoxModel<String> formatModel, StarTable[] tables)
Pops up a modal dialogue which allows the user to save the given tables to a single destination. The dialogue should allow the user to select an output destination and return only when he has done so or indicated that he does not wish to. Having selected a destination the tables should be saved to it. If the save fails the user should be notified with a popup.

Parameters:
  `parent` - parent component
  `sto` - object determining how tables are saved
  `formatModel` - combo box model containing names of table save formats which can be selected
  `tables` - the tables to save
Returns:
  true iff the save completed successfully