edu.northwestern.at.utils.swing
Class SaveTableModelData

java.lang.Object
  extended by edu.northwestern.at.utils.swing.SaveTableModelData
Direct Known Subclasses:
SaveTableData

public class SaveTableModelData
extends java.lang.Object

Saves data stored in a TableModel to a file is several different formats.


Field Summary
protected static FileExtensionFilter csvFilter
          CSV extension file filter.
protected static FileExtensionFilter htmlFilter
          HTML extension file filter.
protected static FileExtensionFilter tabFilter
          TAB extension file filter.
 
Constructor Summary
protected SaveTableModelData()
          Don't allow instantiation but do allow overrides.
 
Method Summary
static java.lang.String cleanColumnHeader(java.lang.String columnHeader)
          Clean up a column header.
static void saveTableModelDataToFile(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles, java.lang.String fileName)
          Saves the table data to a file.
static void saveTableModelDataToFile(java.awt.Window parentWindow, javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles)
          Saves the table model data to a file.
static void saveTableModelDataToFileAsCSV(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles, java.lang.String fileName)
          Saves the table model data to a file in CSV format.
static void saveTableModelDataToFileAsTAB(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles, java.lang.String fileName)
          Saves the table model data to a file in TAB format.
static void saveTableModelDataToFileAsXHTML(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles, java.lang.String fileName)
          Saves the table model data to a file in XHTML format.
static java.lang.String tableModelDataToCSV(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles)
          Convert contents of a TableModel to comma separated values.
static java.lang.String tableModelDataToTAB(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles)
          Convert contents of a TableModel to tab separated values.
static java.lang.String tableModelDataToXHTML(javax.swing.table.TableModel tableModel, java.lang.String title, java.lang.String[] columnTitles, int border)
          Convert contents of a TableModel to XHTML.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

csvFilter

protected static FileExtensionFilter csvFilter
CSV extension file filter.


tabFilter

protected static FileExtensionFilter tabFilter
TAB extension file filter.


htmlFilter

protected static FileExtensionFilter htmlFilter
HTML extension file filter.

Constructor Detail

SaveTableModelData

protected SaveTableModelData()
Don't allow instantiation but do allow overrides.

Method Detail

cleanColumnHeader

public static java.lang.String cleanColumnHeader(java.lang.String columnHeader)
Clean up a column header.

Parameters:
columnHeader - The column header string to clean up.
Returns:
Cleaned up column header string.

HTML tags are removed, multiple blanks are squeezed to one blank, and leading and trailing blanks are removed.


tableModelDataToCSV

public static java.lang.String tableModelDataToCSV(javax.swing.table.TableModel tableModel,
                                                   java.lang.String title,
                                                   java.lang.String[] columnTitles)
Convert contents of a TableModel to comma separated values.

Parameters:
tableModel - The TableModel containing the data to convert to command separated values.
title - Title for table.
columnTitles - The column headers. May be null to suppress column headers.
Returns:
The comma separated table data. Each table row appears on a new line.

tableModelDataToTAB

public static java.lang.String tableModelDataToTAB(javax.swing.table.TableModel tableModel,
                                                   java.lang.String title,
                                                   java.lang.String[] columnTitles)
Convert contents of a TableModel to tab separated values.

Parameters:
tableModel - The TableModel containing the data to convert to tab separated values.
title - Title for table.
columnTitles - The column headers. May be null to suppress column headers.
Returns:
The tab separated table data. Each table row appears on a new line.

tableModelDataToXHTML

public static java.lang.String tableModelDataToXHTML(javax.swing.table.TableModel tableModel,
                                                     java.lang.String title,
                                                     java.lang.String[] columnTitles,
                                                     int border)
Convert contents of a TableModel to XHTML.

Parameters:
tableModel - The TableModel containing the data to convert to XHTML.
title - Title for table.
columnTitles - The column headers. May be null to suppress column headers.
border - Border size for table. Set to 0 for no border.
Returns:
The XHTML formatted table data.

saveTableModelDataToFileAsCSV

public static void saveTableModelDataToFileAsCSV(javax.swing.table.TableModel tableModel,
                                                 java.lang.String title,
                                                 java.lang.String[] columnTitles,
                                                 java.lang.String fileName)
Saves the table model data to a file in CSV format.

Parameters:
tableModel - The table model containing the data to save.
title - The title for the data.
columnTitles - The column titles. Null if no titles.
fileName - The file name to which to save the data.

saveTableModelDataToFileAsTAB

public static void saveTableModelDataToFileAsTAB(javax.swing.table.TableModel tableModel,
                                                 java.lang.String title,
                                                 java.lang.String[] columnTitles,
                                                 java.lang.String fileName)
Saves the table model data to a file in TAB format.

Parameters:
tableModel - The table model containing the data to save.
title - The title for the data.
columnTitles - The column titles. Null if no titles.
fileName - The file name to which to save the data.

saveTableModelDataToFileAsXHTML

public static void saveTableModelDataToFileAsXHTML(javax.swing.table.TableModel tableModel,
                                                   java.lang.String title,
                                                   java.lang.String[] columnTitles,
                                                   java.lang.String fileName)
Saves the table model data to a file in XHTML format.

Parameters:
tableModel - The table model containing the data to save.
title - The title for the data.
columnTitles - The column titles. Null if no titles.
fileName - The file name to which to save the data.

saveTableModelDataToFile

public static void saveTableModelDataToFile(javax.swing.table.TableModel tableModel,
                                            java.lang.String title,
                                            java.lang.String[] columnTitles,
                                            java.lang.String fileName)
Saves the table data to a file.

Parameters:
tableModel - Table model holding data to save.
title - The title for the data. Null if no title.
columnTitles - The column titles. Null if no titles.
fileName - The file name to which to save the data.

The filename extension determines the type of output. .csv -> comma separated values, .tab -> tab separated values, and .htm or .html -> xhtml. If the filename does not end in one of these, a comma separated file format is used.


saveTableModelDataToFile

public static void saveTableModelDataToFile(java.awt.Window parentWindow,
                                            javax.swing.table.TableModel tableModel,
                                            java.lang.String title,
                                            java.lang.String[] columnTitles)
Saves the table model data to a file. Prompts for a file name.

Parameters:
parentWindow - Parent window for file dialog.
tableModel - The table model whose data is to be saved.
title - The title for the data.
columnTitles - The column titles.