Class PluginStoreTableModel

java.lang.Object
javax.swing.table.AbstractTableModel
org.ka2ddo.yaac.gui.pluginstore.PluginStoreTableModel
All Implemented Interfaces:
Serializable, TableModel, ColumnSizingTableModel

public final class PluginStoreTableModel extends AbstractTableModel implements ColumnSizingTableModel
This table model allows the user to see what officially provided plugins are available and/or already installed. The list of available plugins is downloaded from the author's website or SourceForge alternate, and the list of currently installed plugins is obtained from the plugin management code within YAAC, and the combination (minus the default core plugin) is displayed as a table.
Author:
Andrew Pavlin, KA2DDO
See Also:
  • Constructor Details

    • PluginStoreTableModel

      public PluginStoreTableModel()
      Create a PluginStoreTableModel from the local plugin registry and the list of available plugins from either the author's website or the SourceForge project.
  • Method Details

    • getColumnCount

      public int getColumnCount()
      Returns the number of columns in the model. A JTable uses this method to determine how many columns it should create and display by default.
      Specified by:
      getColumnCount in interface TableModel
      Returns:
      the number of columns in the model
      See Also:
    • getRowCount

      public int getRowCount()
      Returns the number of rows in the model. A JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.
      Specified by:
      getRowCount in interface TableModel
      Returns:
      the number of rows in the model
      See Also:
    • getValueAt

      public Object getValueAt(int rowIndex, int columnIndex)
      Returns the value for the cell at columnIndex and rowIndex.
      Specified by:
      getValueAt in interface TableModel
      Parameters:
      rowIndex - the row whose value is to be queried
      columnIndex - the column whose value is to be queried
      Returns:
      the value Object at the specified cell
    • isCellEditable

      public boolean isCellEditable(int rowIndex, int columnIndex)
      Specifies that pushbuttons are usable.
      Specified by:
      isCellEditable in interface TableModel
      Overrides:
      isCellEditable in class AbstractTableModel
      Parameters:
      rowIndex - the row being queried
      columnIndex - the column being queried
      Returns:
      boolean true if column can be edited
    • getColumnClass

      public Class<?> getColumnClass(int columnIndex)
      Returns Class of column content.
      Specified by:
      getColumnClass in interface TableModel
      Overrides:
      getColumnClass in class AbstractTableModel
      Parameters:
      columnIndex - the column being queried
      Returns:
      the Class of data in that column
    • getColumnName

      public String getColumnName(int column)
      Returns the name for the column.
      Specified by:
      getColumnName in interface TableModel
      Overrides:
      getColumnName in class AbstractTableModel
      Parameters:
      column - the column being queried
      Returns:
      a string containing the name of column
    • getColumnWidth

      public int getColumnWidth(int columnIndex)
      Specifies the default initial width of a column from this model. Should only be queried at table creation time.
      Specified by:
      getColumnWidth in interface ColumnSizingTableModel
      Parameters:
      columnIndex - int index of the model's column whose width should be obtained
      Returns:
      the width, in the same units used by the TableColumn class's setWidth() method, or -1 to indicate the width should not be forced
    • isSizeToFit

      public boolean isSizeToFit(int columnIndex)
      Specifies whether setWidthToFit() should be enabled on this column.
      Specified by:
      isSizeToFit in interface ColumnSizingTableModel
      Parameters:
      columnIndex - int index of the model's column whose width should be obtained
      Returns:
      boolean true if sizeWidthToFit() should be called on this column