org.tbee.swing.table
Class BeanTableModel<T>

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by org.tbee.swing.table.AbstractTableModel
          extended by org.tbee.swing.table.BeanTableModel<T>
All Implemented Interfaces:
Serializable, TableModel, nl.knowledgeplaza.util.PropertyChangeProvider
Direct Known Subclasses:
BeanTableModelForEdit

public class BeanTableModel<T>
extends AbstractTableModel
implements TableModel, nl.knowledgeplaza.util.PropertyChangeProvider

A table that is able to quickly show and edit a collection of beans in a table. A better name might have been BeanTableModelForEdit

Version:
$Revision: 1.10 $
See Also:
Serialized Form

Field Summary
static String BeanClass_PROPERTY_ID
           
static String DATA_PROPERTY_ID
           
static String SOURCECODE_VERSION
          Standard variable for determining version of a class file.
static String TABLECOLUMNS_PROPERTY_ID
           
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
BeanTableModel(Class<? extends T> beanClass, TableColumn... columns)
           
 
Method Summary
 void add(List<T> beans)
          Add all beans to the data
 void add(T bean)
          Add a bean to the data
 void addPropertyChangeListener(PropertyChangeListener pcl)
           
 void addPropertyChangeListener(String id, PropertyChangeListener pcl)
           
 void clear()
          clear
 int findColumnByProperty(String property)
          find a column by property
 int findColumnByTitle(String title)
          find a column by title
 void firePropertyChange(String id, Object old, Object newval)
           
 Class<? extends T> getBeanClass()
          BeanClass:
 T getBeanForRow(int rowIndex)
          This is needed for table model for edit
 Class<?> getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 String getColumnName(int columnIndex)
           
 nl.knowledgeplaza.util.collection.ObservableList<T> getData()
          Data:
 PropertyChangeListener[] getPropertyChangeListeners()
           
 PropertyChangeListener[] getPropertyChangeListeners(String id)
           
 int getRowCount()
           
 int getRowIndexForBean(T bean)
          This is needed for table model for edit
 TableColumn[] getTableColumns()
          TableColumns:
 String getTooltipAt(int rowIndex, int columnIndex)
          Tooltip for a cell
 Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 void removePropertyChangeListener(PropertyChangeListener pcl)
           
 void removePropertyChangeListener(String id, PropertyChangeListener pcl)
           
 void setBeanClass(Class<? extends T> value)
           
 void setData(Collection<T> value)
          Support: convert regular list to observable list
 void setData(nl.knowledgeplaza.util.collection.ObservableList<T> value)
           
 void setTableColumns(TableColumn[] value)
           
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
           
 void setValueAt(TableColumn lColumn, T lObject, Object value)
           
 BeanTableModel<T> withBeanClass(Class<? extends T> value)
           
 BeanTableModel<T> withData(nl.knowledgeplaza.util.collection.ObservableList<T> value)
           
 BeanTableModel<T> withTableColumns(TableColumn[] value)
           
 
Methods inherited from class org.tbee.swing.table.AbstractTableModel
fireTableCellUpdatedInvokeAndWait, fireTableCellUpdatedInvokeLater, fireTableDataChangedInvokeAndWait, fireTableDataChangedInvokeLater
 
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
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, removeTableModelListener
 

Field Detail

SOURCECODE_VERSION

public static final String SOURCECODE_VERSION
Standard variable for determining version of a class file.

See Also:
Constant Field Values

BeanClass_PROPERTY_ID

public static final String BeanClass_PROPERTY_ID
See Also:
Constant Field Values

TABLECOLUMNS_PROPERTY_ID

public static final String TABLECOLUMNS_PROPERTY_ID
See Also:
Constant Field Values

DATA_PROPERTY_ID

public static final String DATA_PROPERTY_ID
See Also:
Constant Field Values
Constructor Detail

BeanTableModel

public BeanTableModel(Class<? extends T> beanClass,
                      TableColumn... columns)
Parameters:
data -
columns -
Method Detail

getBeanClass

public Class<? extends T> getBeanClass()
BeanClass:


setBeanClass

public void setBeanClass(Class<? extends T> value)

withBeanClass

public BeanTableModel<T> withBeanClass(Class<? extends T> value)

getTableColumns

public TableColumn[] getTableColumns()
TableColumns:


setTableColumns

public void setTableColumns(TableColumn[] value)

withTableColumns

public BeanTableModel<T> withTableColumns(TableColumn[] value)

getData

public nl.knowledgeplaza.util.collection.ObservableList<T> getData()
Data:


setData

public void setData(nl.knowledgeplaza.util.collection.ObservableList<T> value)

withData

public BeanTableModel<T> withData(nl.knowledgeplaza.util.collection.ObservableList<T> value)

setData

public void setData(Collection<T> value)
Support: convert regular list to observable list

Parameters:
value -

add

public void add(T bean)
Add a bean to the data

Parameters:
bean -

add

public void add(List<T> beans)
Add all beans to the data

Parameters:
beans -

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners()
Specified by:
getPropertyChangeListeners in interface nl.knowledgeplaza.util.PropertyChangeProvider

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String id)
Specified by:
getPropertyChangeListeners in interface nl.knowledgeplaza.util.PropertyChangeProvider

addPropertyChangeListener

public void addPropertyChangeListener(PropertyChangeListener pcl)
Specified by:
addPropertyChangeListener in interface nl.knowledgeplaza.util.PropertyChangeProvider

addPropertyChangeListener

public void addPropertyChangeListener(String id,
                                      PropertyChangeListener pcl)
Specified by:
addPropertyChangeListener in interface nl.knowledgeplaza.util.PropertyChangeProvider

removePropertyChangeListener

public void removePropertyChangeListener(PropertyChangeListener pcl)
Specified by:
removePropertyChangeListener in interface nl.knowledgeplaza.util.PropertyChangeProvider

removePropertyChangeListener

public void removePropertyChangeListener(String id,
                                         PropertyChangeListener pcl)
Specified by:
removePropertyChangeListener in interface nl.knowledgeplaza.util.PropertyChangeProvider

firePropertyChange

public void firePropertyChange(String id,
                               Object old,
                               Object newval)

getColumnClass

public Class<?> getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface TableModel
Overrides:
getColumnClass in class AbstractTableModel

getColumnCount

public int getColumnCount()
Specified by:
getColumnCount in interface TableModel

getColumnName

public String getColumnName(int columnIndex)
Specified by:
getColumnName in interface TableModel
Overrides:
getColumnName in class AbstractTableModel

getRowCount

public int getRowCount()
Specified by:
getRowCount in interface TableModel

getValueAt

public Object getValueAt(int rowIndex,
                         int columnIndex)
Specified by:
getValueAt in interface TableModel

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Specified by:
isCellEditable in interface TableModel
Overrides:
isCellEditable in class AbstractTableModel

setValueAt

public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
Specified by:
setValueAt in interface TableModel
Overrides:
setValueAt in class AbstractTableModel

getTooltipAt

public String getTooltipAt(int rowIndex,
                           int columnIndex)
Description copied from class: AbstractTableModel
Tooltip for a cell

Overrides:
getTooltipAt in class AbstractTableModel

getBeanForRow

public T getBeanForRow(int rowIndex)
This is needed for table model for edit

Parameters:
rowIndex -
Returns:

getRowIndexForBean

public int getRowIndexForBean(T bean)
This is needed for table model for edit

Parameters:
bean -
Returns:

setValueAt

public void setValueAt(TableColumn lColumn,
                       T lObject,
                       Object value)

clear

public void clear()
clear


findColumnByTitle

public int findColumnByTitle(String title)
find a column by title


findColumnByProperty

public int findColumnByProperty(String property)
find a column by property



Copyright © 2011 KnowledgePlaza. All Rights Reserved.