org.cesilko.rachota.gui
Class FilteredTasksTableModel

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by org.cesilko.rachota.gui.FilteredTasksTableModel
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel

public class FilteredTasksTableModel
extends javax.swing.table.AbstractTableModel

Table model for filtered tasks.

See Also:
Serialized Form

Field Summary
static int DESCRIPTION
          Identification of filter name column.
static int DURATION_DAYS
          Identification of filter content column.
static int DURATION_TIME
          Identification of filter content rule column.
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
FilteredTasksTableModel()
          Creates a new instance of FilteredTasksTableModel
 
Method Summary
 int getColumnCount()
          Returns number of columns in the table i.e.
 java.lang.String getColumnName(int column)
          Returns name of column by given column number.
 int getRowCount()
          Returns number of rows in the table i.e.
 Task getSimilarTask(int row)
          Returns similar task to the one at given row.
 int getSortedColumn()
          Returns column that is currently sorted.
 java.lang.String getSortedOrder()
          Returns sorting order that is currently used.
 double getTotalTime()
          Returns total time spent on all displayed tasks.
 java.lang.Object getValueAt(int row, int column)
          Returns value of cell located in given row and column.
 void setGroupSameTasks(boolean groupSameTasks)
          Sets whether to group tasks with same description or not.
 void setTasks(java.util.Vector tasks)
          Sets filtered tasks with new vector and refreshes the table.
 void sortTable(int column, boolean changeOrder)
          Sorts table according to given column and known order.
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getColumnClass, getListeners, getTableModelListeners, isCellEditable, removeTableModelListener, setValueAt
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DESCRIPTION

public static final int DESCRIPTION
Identification of filter name column.

See Also:
Constant Field Values

DURATION_TIME

public static final int DURATION_TIME
Identification of filter content rule column.

See Also:
Constant Field Values

DURATION_DAYS

public static final int DURATION_DAYS
Identification of filter content column.

See Also:
Constant Field Values
Constructor Detail

FilteredTasksTableModel

public FilteredTasksTableModel()
Creates a new instance of FilteredTasksTableModel

Method Detail

setGroupSameTasks

public void setGroupSameTasks(boolean groupSameTasks)
Sets whether to group tasks with same description or not.

Parameters:
groupSameTasks - If true, tasks with same description will occupy one row.

setTasks

public void setTasks(java.util.Vector tasks)
Sets filtered tasks with new vector and refreshes the table.

Parameters:
tasks - Vector of filtered tasks to be displayed in the table.

getValueAt

public java.lang.Object getValueAt(int row,
                                   int column)
Returns value of cell located in given row and column.

Parameters:
row - Number of row.
column - Number of column.
Returns:
Value of cell at specified location.

getSimilarTask

public Task getSimilarTask(int row)
Returns similar task to the one at given row.

Parameters:
row - Row of task to be found.
Returns:
Either same task or new task with same description.

getRowCount

public int getRowCount()
Returns number of rows in the table i.e. filtered tasks. The number depends on the groupSameTasks setting.

Returns:
Number of rows in the table i.e. number of filtered tasks either unique or same depending on whether they should be grouped.

getColumnCount

public int getColumnCount()
Returns number of columns in the table i.e. 3.

Returns:
Always 3 since table has three columns.

getColumnName

public java.lang.String getColumnName(int column)
Returns name of column by given column number.

Specified by:
getColumnName in interface javax.swing.table.TableModel
Overrides:
getColumnName in class javax.swing.table.AbstractTableModel
Parameters:
column - Number of column.
Returns:
Name of column by given column number.

getTotalTime

public double getTotalTime()
Returns total time spent on all displayed tasks.

Returns:
Total time spent on all displayed tasks in miliseconds.

getSortedColumn

public int getSortedColumn()
Returns column that is currently sorted.

Returns:
Column that is being sorted.

getSortedOrder

public java.lang.String getSortedOrder()
Returns sorting order that is currently used.

Returns:
Returns + char in case of ascending order or - char in case of descending order.

sortTable

public void sortTable(int column,
                      boolean changeOrder)
Sorts table according to given column and known order.

Parameters:
column - Column that will be used for sorting.
changeOrder - Should the sorting order be changed ?