net.sac.mymo.ui
Class AbstractMovieTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by net.sac.mymo.ui.AbstractMovieTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel, SortableTableModel
Direct Known Subclasses:
HistoryTableModel, MovieTableModel

public abstract class AbstractMovieTableModel
extends javax.swing.table.AbstractTableModel
implements SortableTableModel

AbstractMovieTableModel sets up a sortable table model for Movie objects. The list of Movie objects used in the model is a copy of the list passed in in the constructor or in a call to setMovies. However, the Movie objects themselves are not cloned. The reason behind using a separate list object is so that the list order can be sorted in different ways without it affecting the original list. AbsractMovieTableModel also provides a convenience method getImdbId to get the ImdbId for a Movie given the table row.

Author:
Scott Arnold
See Also:
Serialized Form

Constructor Summary
AbstractMovieTableModel()
           
AbstractMovieTableModel(java.util.List<Movie> movies)
           
 
Method Summary
 java.lang.String getBoxOfficeId(int row)
           
 java.lang.String getImdbId(int row)
           
 int getRowCount()
           
 java.lang.String getTitle(int row)
           
 void notifyListenersOfTableSort()
           
 void reverseRows()
           
 void setMovies(java.util.List<Movie> movies)
           
 void swapRows(int i, int j)
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnClass, getColumnCount, getColumnName, getValueAt, isCellEditable, removeTableModelListener, setValueAt
 

Constructor Detail

AbstractMovieTableModel

public AbstractMovieTableModel()

AbstractMovieTableModel

public AbstractMovieTableModel(java.util.List<Movie> movies)
Method Detail

setMovies

public void setMovies(java.util.List<Movie> movies)

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface javax.swing.table.TableModel

getImdbId

public java.lang.String getImdbId(int row)

getBoxOfficeId

public java.lang.String getBoxOfficeId(int row)

getTitle

public java.lang.String getTitle(int row)

notifyListenersOfTableSort

public void notifyListenersOfTableSort()
Specified by:
notifyListenersOfTableSort in interface SortableTableModel

reverseRows

public void reverseRows()
Specified by:
reverseRows in interface SortableTableModel

swapRows

public void swapRows(int i,
                     int j)
Specified by:
swapRows in interface SortableTableModel