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:
java.io.Serializable, javax.swing.table.TableModel, nl.knowledgeplaza.util.PropertyChangeProvider
Direct Known Subclasses:
BeanTableModelForEdit

public class BeanTableModel<T>
extends AbstractTableModel
implements 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.7 $
See Also:
Serialized Form

Field Summary
static java.lang.String BeanClass_PROPERTY_ID
           
static java.lang.String DATA_PROPERTY_ID
           
static java.lang.String SOURCECODE_VERSION
          Standard variable for determining version of a class file.
static java.lang.String TABLECOLUMNS_PROPERTY_ID
           
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
BeanTableModel(java.lang.Class<? extends T> beanClass, TableColumn... columns)
           
 
Method Summary
 void addPropertyChangeListener(java.beans.PropertyChangeListener pcl)
           
 void addPropertyChangeListener(java.lang.String id, java.beans.PropertyChangeListener pcl)
           
 void clear()
          clear
 int findColumnByProperty(java.lang.String property)
          find a column by property
 int findColumnByTitle(java.lang.String title)
          find a column by title
 void firePropertyChange(java.lang.String id, java.lang.Object old, java.lang.Object newval)
           
 java.lang.Class<? extends T> getBeanClass()
          BeanClass:
 T getBeanForRow(int rowIndex)
          This is needed for table model for edit
 java.lang.Class<?> getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 java.lang.String getColumnName(int columnIndex)
           
 nl.knowledgeplaza.util.collection.ObservableList<T> getData()
          Data:
 java.beans.PropertyChangeListener[] getPropertyChangeListeners()
           
 java.beans.PropertyChangeListener[] getPropertyChangeListeners(java.lang.String id)
           
 int getRowCount()
           
 int getRowIndexForBean(T bean)
          This is needed for table model for edit
 TableColumn[] getTableColumns()
          TableColumns:
 java.lang.Object getValueAt(int rowIndex, int columnIndex)
           
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 void removePropertyChangeListener(java.beans.PropertyChangeListener pcl)
           
 void removePropertyChangeListener(java.lang.String id, java.beans.PropertyChangeListener pcl)
           
 void setBeanClass(java.lang.Class<? extends T> value)
           
 void setData(java.util.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(java.lang.Object aValue, int rowIndex, int columnIndex)
           
 void setValueAt(TableColumn lColumn, T lObject, java.lang.Object value)
           
 BeanTableModel<T> withBeanClass(java.lang.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
 
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
 

Field Detail

SOURCECODE_VERSION

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

See Also:
Constant Field Values

BeanClass_PROPERTY_ID

public static final java.lang.String BeanClass_PROPERTY_ID
See Also:
Constant Field Values

TABLECOLUMNS_PROPERTY_ID

public static final java.lang.String TABLECOLUMNS_PROPERTY_ID
See Also:
Constant Field Values

DATA_PROPERTY_ID

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

BeanTableModel

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

getBeanClass

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


setBeanClass

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

withBeanClass

public BeanTableModel<T> withBeanClass(java.lang.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(java.util.Collection<T> value)
Support: convert regular list to observable list

Parameters:
value -

getPropertyChangeListeners

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

getPropertyChangeListeners

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

addPropertyChangeListener

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

addPropertyChangeListener

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

removePropertyChangeListener

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

removePropertyChangeListener

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

firePropertyChange

public void firePropertyChange(java.lang.String id,
                               java.lang.Object old,
                               java.lang.Object newval)

getColumnClass

public java.lang.Class<?> getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface javax.swing.table.TableModel
Overrides:
getColumnClass in class javax.swing.table.AbstractTableModel

getColumnCount

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

getColumnName

public java.lang.String getColumnName(int columnIndex)
Specified by:
getColumnName in interface javax.swing.table.TableModel
Overrides:
getColumnName in class javax.swing.table.AbstractTableModel

getRowCount

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

getValueAt

public java.lang.Object getValueAt(int rowIndex,
                                   int columnIndex)
Specified by:
getValueAt in interface javax.swing.table.TableModel

isCellEditable

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

setValueAt

public void setValueAt(java.lang.Object aValue,
                       int rowIndex,
                       int columnIndex)
Specified by:
setValueAt in interface javax.swing.table.TableModel
Overrides:
setValueAt in class javax.swing.table.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,
                       java.lang.Object value)

clear

public void clear()
clear


findColumnByTitle

public int findColumnByTitle(java.lang.String title)
find a column by title


findColumnByProperty

public int findColumnByProperty(java.lang.String property)
find a column by property



Copyright © 2010 KnowledgePlaza. All Rights Reserved.