Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.statcato.spreadsheet
Class SpreadsheetModel

    java.lang.Object
      javax.swing.table.AbstractTableModel
          org.statcato.spreadsheet.SpreadsheetModel

All Implemented Interfaces:
  java.io.Serializable, java.util.EventListener, javax.swing.event.TableModelListener, javax.swing.table.TableModel

    public class SpreadsheetModel

extends javax.swing.table.AbstractTableModel
implements javax.swing.event.TableModelListener

A table model for `Spreadsheet`.

The table data is represented by vectors of vectors of Cell. The first row of the table contains the column/variable names. The row and column numbers of table Cells are not guaranteed to be accurate. Their correctness is ensured when a row/column is retrieved.

Since:
  1.0
Version:
  %I%, %G%
Author:
  Margaret Yau
See Also:
  `Spreadsheet`, Serialized Form

Field Summary

Fields inherited from class javax.swing.table.AbstractTableModel
`listenerList`

Constructor Summary
`SpreadsheetModel(Statcato app)` Constructor given the parent frame.
`SpreadsheetModel(Statcato app, int rows, int columns)` Constructor given the parent frame, number of rows, and number of columns.

Method Summary
`void` | `clearCell(int row, int col)` Clears the contents in the cell at the specified row and column.
`void` | `deleteCell(int row, int column)` Deletes the cell at the specified row and column.
`void` | `deleteCells(int minRow, int maxRow, int minCol, int maxCol)` Deletes the cells within the specified range.
`void` | `deleteColumn(int column)` Deletes the entire column at the specified column number.
`void` | `deleteRow(int row)` Deletes the entire row at the specified row number.
`java.util.Vector` | `getAllColumnNumbers()` Gets all the column numbers.
`java.util.Vector<Cell>` | `getColumn(int col)` Returns the vector of cells in the given column number.
`java.lang.Class` | `getColumnClass(int c)`
`int` | `getColumnCount()`
`static java.lang.String` | `getColumnLabel(int column)` Eeturns the column label for the given column number.
`java.lang.String` | `getColumnName(int col)` Returns the column name at the given column.
`int` | `getColumnNumber(java.lang.String label)` Returns the column number embedded in the given column label.
`java.util.Vector` | `getColumnsWithData()` Returns the column number of columns that contain data.
`java.lang.String` | `getCommaSeparatedValues()` Returns the table data as a string of comma-separated values.
`int` | `getLastNonEmptyColumn()` Returns the column number of the last column with data.
`int` | `getLastNonEmptyColumn(int row)` returns the column number of the last non-empty column in the given row.
`int` | `getLastNonEmptyRow()` Returns the row number of the last non-empty row.
`java.util.Vector<Cell>` | `getRow(int row)` Returns the vector of cells in the given row number.
`int` | `getRowCount()`
`int` | `getRowNumber(java.lang.String label)` Returns the row number from the given row label.
`java.lang.String` | `getTabDelimitedValues()` Returns the table data as a string of tab-dlimited values.
`java.lang.Object` | `getValueAt(int row, int col)`
`java.lang.String` | `getVariableName(int col)` Returns the variable name at the given column.
`static boolean` | `hasData(java.lang.Object cell)` Returns true if and only if the given cell has data.
`void` | `insertCell(int row, int col)` Inserts a blank cell at the specified row and column.
`void` | `insertColumn(int col)` Inserts a blank column at the specified column number.
`void` | `insertRow(int row)` Inserts a blank row at the specified row number.
`boolean` | `isCellEditable(int row, int col)`
`void` | `printDebugData()` Prints debug data.
`void` | `setCellColumn(int column, java.util.Vector<Cell> data)` Sets the contents of the given column to the given cell vector.
`void` | `setColumn(int column, java.util.Vector<java.lang.String> data)` Sets the contents of the given column to the given data vector.
`void` | `setData(java.util.Vector<java.util.Vector<java.lang.String>> data)` Sets the underlying table structure to the given data matrix.
`void` | `setRow(int row, java.util.Vector<java.lang.String> data)` Sets the contents of the given row to the given data vector.
`void` | `setStringValueAt(java.lang.String value, int row, int col)` Set the string value at the specified row and column.
`void` | `setValueAt(java.lang.Object value, int row, int col)` Sets the value at the given row and column to the given value.
`void` | `tableChanged(javax.swing.event.TableModelEvent e)`

Methods inherited from class javax.swing.table.AbstractTableModel
`addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### SpreadsheetModel

    public SpreadsheetModel(Statcato app)

  Constructor given the parent frame.

  Parameters:
    `app` - parent frame

### SpreadsheetModel

    public SpreadsheetModel(Statcato app,
                            int rows,
                            int columns)

  Constructor given the parent frame, number of rows, and number of columns.

  Parameters:
    `app` - parent frame
    `rows` - number of rows
    `columns` - number of columns

Method Detail

### getColumn

    public java.util.Vector<Cell> getColumn(int col)

  Returns the vector of cells in the given column number.

  Parameters:
    `col` - column number
  Returns:
    vector of cells in the given column

### getRow

    public java.util.Vector<Cell> getRow(int row)

  Returns the vector of cells in the given row number.

  Parameters:
    `row` - row number
  Returns:
    vector of cells in the given row

### getColumnLabel

    public static java.lang.String getColumnLabel(int column)

  Eeturns the column label for the given column number.

  Parameters:
    `column` - number
  Returns:
    column label

### getColumnNumber

    public int getColumnNumber(java.lang.String label)

  Returns the column number embedded in the given column label.

  Parameters:
    `label` - column label
  Returns:
    column number

### getRowNumber

    public int getRowNumber(java.lang.String label)

  Returns the row number from the given row label.

  Parameters:
    `label` - row label
  Returns:
    row number

### getLastNonEmptyRow

    public int getLastNonEmptyRow()

  Returns the row number of the last non-empty row.

  Returns:
    row number

### getLastNonEmptyColumn

    public int getLastNonEmptyColumn(int row)

  returns the column number of the last non-empty column in the given row.

  Parameters:
    `row` - number in which the last non-empty column is found
  Returns:
    column number

### getLastNonEmptyColumn

    public int getLastNonEmptyColumn()

  Returns the column number of the last column with data.

  Returns:
    column number

### tableChanged

    public void tableChanged(javax.swing.event.TableModelEvent e)

  Specified by:
    `tableChanged` in interface `javax.swing.event.TableModelListener`

### getColumnCount

    public int getColumnCount()

  Specified by:
    `getColumnCount` in interface `javax.swing.table.TableModel`

### getRowCount

    public int getRowCount()

  Specified by:
    `getRowCount` in interface `javax.swing.table.TableModel`

### getColumnName

    public java.lang.String getColumnName(int col)

  Returns the column name at the given column.

  Specified by:
    `getColumnName` in interface `javax.swing.table.TableModel`
  Overrides:
    `getColumnName` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `col` - column number
  Returns:
    column name

### getVariableName

    public java.lang.String getVariableName(int col)

  Returns the variable name at the given column.

  Parameters:
    `col` - column number
  Returns:
    variable name

### getValueAt

    public java.lang.Object getValueAt(int row,
                                       int col)

  Specified by:
    `getValueAt` in interface `javax.swing.table.TableModel`

### getColumnClass

    public java.lang.Class getColumnClass(int c)

  Specified by:
    `getColumnClass` in interface `javax.swing.table.TableModel`
  Overrides:
    `getColumnClass` in class `javax.swing.table.AbstractTableModel`

### isCellEditable

    public boolean isCellEditable(int row,
                                  int col)

  Specified by:
    `isCellEditable` in interface `javax.swing.table.TableModel`
  Overrides:
    `isCellEditable` in class `javax.swing.table.AbstractTableModel`

### getColumnsWithData

    public java.util.Vector getColumnsWithData()

  Returns the column number of columns that contain data.

  Returns:
    vector of Integers representing column numbers

### getAllColumnNumbers

    public java.util.Vector getAllColumnNumbers()

  Gets all the column numbers.

  Returns:
    a vector of integers (column numbers)

### hasData

    public static boolean hasData(java.lang.Object cell)

  Returns true if and only if the given cell has data. A cell has data if its content is not an empty string.

  Parameters:
    `cell` - cell object to check if it contains data
  Returns:
    true iff the given cell has data

### setValueAt

    public void setValueAt(java.lang.Object value,
                           int row,
                           int col)

  Sets the value at the given row and column to the given value. If the target row is the variable row, checks if the given variable name already exists.

  Specified by:
    `setValueAt` in interface `javax.swing.table.TableModel`
  Overrides:
    `setValueAt` in class `javax.swing.table.AbstractTableModel`
  Parameters:
    `value` - Object to set
    `row` - row number
    `col` - column number

### setStringValueAt

    public void setStringValueAt(java.lang.String value,
                                 int row,
                                 int col)

  Set the string value at the specified row and column.

  Parameters:
    `value` - string value
    `row` - row
    `col` - column

### setColumn

    public void setColumn(int column,
                          java.util.Vector<java.lang.String> data)

  Sets the contents of the given column to the given data vector.

  Parameters:
    `column` - column number
    `data` - vector of strings

### setCellColumn

    public void setCellColumn(int column,
                              java.util.Vector<Cell> data)

  Sets the contents of the given column to the given cell vector.

  Parameters:
    `column` - column number
    `data` - vector of cells

### setRow

    public void setRow(int row,
                       java.util.Vector<java.lang.String> data)

  Sets the contents of the given row to the given data vector.

  Parameters:
    `row` - row number
    `data` - vector of strings

### setData

    public void setData(java.util.Vector<java.util.Vector<java.lang.String>> data)

  Sets the underlying table structure to the given data matrix.

  Parameters:
    `data` - vector of vectors of strings

### getTabDelimitedValues

    public java.lang.String getTabDelimitedValues()

  Returns the table data as a string of tab-dlimited values.

  Returns:
    string containing table data values separated by tab

### getCommaSeparatedValues

    public java.lang.String getCommaSeparatedValues()

  Returns the table data as a string of comma-separated values.

  Returns:
    string containing table data values separated by comma

### clearCell

    public void clearCell(int row,
                          int col)

  Clears the contents in the cell at the specified row and column.

  Parameters:
    `row` - row number
    `col` - column number

### deleteRow

    public void deleteRow(int row)

  Deletes the entire row at the specified row number. Shifts all rows below upward by one row.

  Parameters:
    `row` - row number

### deleteColumn

    public void deleteColumn(int column)

  Deletes the entire column at the specified column number. Shifts all columns on the right to the left by one column.

  Parameters:
    `column` - column number

### deleteCell

    public void deleteCell(int row,
                           int column)

  Deletes the cell at the specified row and column. Shifts data up to replace the removed cell.

  Parameters:
    `row` - row number
    `column` - column number

### deleteCells

    public void deleteCells(int minRow,
                            int maxRow,
                            int minCol,
                            int maxCol)

  Deletes the cells within the specified range.

  Parameters:
    `minRow` - minimum row
    `maxRow` - maximum row
    `minCol` - minimum col
    `maxCol` - maximum col

### insertRow

    public void insertRow(int row)

  Inserts a blank row at the specified row number.

  Parameters:
    `row` - row number

### insertColumn

    public void insertColumn(int col)

  Inserts a blank column at the specified column number.

  Parameters:
    `col` - column number

### insertCell

    public void insertCell(int row,
                           int col)

  Inserts a blank cell at the specified row and column.

  Parameters:
    `row` - row number
    `col` - column number

### printDebugData

    public void printDebugData()

  Prints debug data.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD