Package uk.ac.starlink.table.gui
Class SaveWorker
java.lang.Object
uk.ac.starlink.table.gui.SaveWorker
Handles asynchronous table saving.
To save a table, create an instance of this class with a suitable
implementation of the
attemptSave(uk.ac.starlink.table.StarTable[])
method and call
invoke()
on it from the event dispatch thread.
A progress bar will advise the user on how
the save is going, and if the save fails a popup will advise of the
error. When the save has completed one way or another, the
done(boolean)
method will be called.- Since:
- 24 Feb 2005
- Author:
- Mark Taylor (Starlink)
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
SaveWorker
(Component parent, StarTable[] tables, String location) Constructs a save worker which will use its own popup widow for progress display.protected
SaveWorker
(JProgressBar progBar, StarTable[] tables, String location) Constructs a save worker which will use a given progress bar for progress display. -
Method Summary
Modifier and TypeMethodDescriptionprotected abstract void
attemptSave
(StarTable[] tables) This method should do the work of saving the given tables.void
cancel()
Interrupts any save which is in progress.protected abstract void
done
(boolean success) Called from the event dispatch thread when the save has completed.void
invoke()
Begins the save.
-
Constructor Details
-
SaveWorker
Constructs a save worker which will use its own popup widow for progress display.- Parameters:
parent
- parent component used for progress bar popuptables
- tables to be savedlocation
- string identifying the save destination - used for display purposes only
-
SaveWorker
Constructs a save worker which will use a given progress bar for progress display.- Parameters:
progBar
- progress bar which will be updated to display progresstables
- tables to be savedlocation
- string identifying the save destination - used for display purposes only
-
-
Method Details
-
attemptSave
This method should do the work of saving the given tables. It will not be called on the event dispatch thread, so may take some time to execute.- Parameters:
tables
- tables to save- Throws:
IOException
- if the table cannot be saved
-
done
protected abstract void done(boolean success) Called from the event dispatch thread when the save has completed. The success argument indicates whether the table was saved successfully or not. If it was not, the user will already have been informed of this.The default implementation does nothing, but subclasses may override it to react in some way to the save's completion.
- Parameters:
success
- save status
-
cancel
public void cancel()Interrupts any save which is in progress. Call from the event dispatch thread. -
invoke
public void invoke()Begins the save. Should be invoked from the event dispatch thread.
-