org.jfree.report.modules.misc.tablemodel

## Class SubSetTableModel

- java.lang.Object
- - org.jfree.report.modules.misc.tablemodel.SubSetTableModel

- All Implemented Interfaces:
    javax.swing.table.TableModel

      public class SubSetTableModel
      extends java.lang.Object
      implements javax.swing.table.TableModel

  A TableModel that proxies an other tablemodel and cuts rows from the start and/or the end of the other tablemodel.
  Author:
    Thomas Morgner

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SubSetTableModel(int start, int end, javax.swing.table.TableModel model)` Creates a new SubSetTableModel, the start and the end parameters define the new tablemodel row count.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `addTableModelListener(javax.swing.event.TableModelListener l)` Adds a listener to the list that is notified each time a change to the data model occurs.
    `java.lang.Class` | `getColumnClass(int columnIndex)` Returns the most specific superclass for all the cell values in the column.
    `int` | `getColumnCount()` Returns the number of columns in the model.
    `java.lang.String` | `getColumnName(int columnIndex)` Returns the name of the column at `columnIndex`.
    `protected javax.swing.table.TableModel` | `getEnclosedModel()` Returns the enclosed tablemodel, which is wrapped by this subset table model.
    `protected int` | `getEnd()` Returns the last row that should be visible.
    `int` | `getRowCount()` Returns the number of rows in the model.
    `protected int` | `getStart()` Returns the start row that should be mapped to row 0 of this model.
    `java.lang.Object` | `getValueAt(int rowIndex, int columnIndex)` Returns the value for the cell at `columnIndex` and `rowIndex`.
    `boolean` | `isCellEditable(int rowIndex, int columnIndex)` Returns true if the cell at `rowIndex` and `columnIndex` is editable.
    `void` | `removeTableModelListener(javax.swing.event.TableModelListener l)` Removes a listener from the list that is notified each time a change to the data model occurs.
    `void` | `setValueAt(java.lang.Object aValue, int rowIndex, int columnIndex)` Sets the value in the cell at `columnIndex` and `rowIndex` to `aValue`.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SubSetTableModel

          public SubSetTableModel(int start,
                                  int end,
                                  javax.swing.table.TableModel model)

      Creates a new SubSetTableModel, the start and the end parameters define the new tablemodel row count. The parameter `start` must be a positive integer and denotes the number or rows removed from the start of the tablemodel. `end` is the number of the last translated row. Any row after `end` is ignored. End must be greater or equal the given start row.
      Parameters:
        `start` - the number of rows that should be removed.
        `end` - the last row.
        `model` - the wrapped model
      Throws:
        `java.lang.NullPointerException` - if the given model is null
        `java.lang.IllegalArgumentException` - if start or end are invalid.

  - ### Method Detail

    - #### 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 `javax.swing.table.TableModel`
      Returns:
        the number of rows in the model
      See Also:
        `getColumnCount()`

    - #### 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 `javax.swing.table.TableModel`
      Returns:
        the number of columns in the model
      See Also:
        `getRowCount()`

    - #### getColumnName

          public java.lang.String getColumnName(int columnIndex)

      Returns the name of the column at `columnIndex`. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.
      Specified by:
        `getColumnName` in interface `javax.swing.table.TableModel`
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the name of the column

    - #### getColumnClass

          public java.lang.Class getColumnClass(int columnIndex)

      Returns the most specific superclass for all the cell values in the column. This is used by the `JTable` to set up a default renderer and editor for the column.
      Specified by:
        `getColumnClass` in interface `javax.swing.table.TableModel`
      Parameters:
        `columnIndex` - the index of the column
      Returns:
        the base ancestor class of the object values in the model.

    - #### isCellEditable

          public boolean isCellEditable(int rowIndex,
                                        int columnIndex)

      Returns true if the cell at `rowIndex` and `columnIndex` is editable. Otherwise, `setValueAt` on the cell will not change the value of that cell.
      Specified by:
        `isCellEditable` in interface `javax.swing.table.TableModel`
      Parameters:
        `rowIndex` - the row whose value to be queried
        `columnIndex` - the column whose value to be queried
      Returns:
        true if the cell is editable
      See Also:
        `setValueAt(java.lang.Object, int, int)`

    - #### getValueAt

          public java.lang.Object getValueAt(int rowIndex,
                                             int columnIndex)

      Returns the value for the cell at `columnIndex` and `rowIndex`.
      Specified by:
        `getValueAt` in interface `javax.swing.table.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

    - #### setValueAt

          public void setValueAt(java.lang.Object aValue,
                                 int rowIndex,
                                 int columnIndex)

      Sets the value in the cell at `columnIndex` and `rowIndex` to `aValue`.
      Specified by:
        `setValueAt` in interface `javax.swing.table.TableModel`
      Parameters:
        `aValue` - the new value
        `rowIndex` - the row whose value is to be changed
        `columnIndex` - the column whose value is to be changed
      See Also:
        `getValueAt(int, int)`, `isCellEditable(int, int)`

    - #### addTableModelListener

          public void addTableModelListener(javax.swing.event.TableModelListener l)

      Adds a listener to the list that is notified each time a change to the data model occurs.
      Specified by:
        `addTableModelListener` in interface `javax.swing.table.TableModel`
      Parameters:
        `l` - the TableModelListener

    - #### removeTableModelListener

          public void removeTableModelListener(javax.swing.event.TableModelListener l)

      Removes a listener from the list that is notified each time a change to the data model occurs.
      Specified by:
        `removeTableModelListener` in interface `javax.swing.table.TableModel`
      Parameters:
        `l` - the TableModelListener

    - #### getEnclosedModel

          protected javax.swing.table.TableModel getEnclosedModel()

      Returns the enclosed tablemodel, which is wrapped by this subset table model.
      Returns:
        the enclosed table model, never null.

    - #### getStart

          protected int getStart()

      Returns the start row that should be mapped to row 0 of this model.
      Returns:
        the first row that should be visible.

    - #### getEnd

          protected int getEnd()

      Returns the last row that should be visible.
      Returns:
        the number of the last row.