org.openxava.tab.impl
Class TableModelBean

java.lang.Object
  extended by org.openxava.tab.impl.TableModelBean
All Implemented Interfaces:
java.io.Serializable, javax.swing.table.TableModel, IObjectTableModel, IRefreshTableModel, IXTableModel

public class TableModelBean
extends java.lang.Object
implements IXTableModel, java.io.Serializable

IXTableModel implementation in JavaBean format.

It's a read only TableModel.
Call to invariant() before use.

Author:
Javier Paniza
See Also:
Serialized Form

Constructor Summary
TableModelBean()
           
 
Method Summary
 void addTableModelListener(javax.swing.event.TableModelListener l)
           
 java.lang.Class getColumnClass(int columnIndex)
           
 int getColumnCount()
           
 java.lang.String getColumnName(int columnIndex)
           
 java.lang.String[] getColumnsClasses()
           
 IEntityTabImpl getEntityTab()
           
 java.lang.String[] getHeading()
           
 java.lang.Object getObjectAt(int rowIndex)
          Return the object associated to indicated row.
 int[] getPKIndexes()
          Indexes of columns that contains the primary key.
 java.util.List getPropertiesNames()
           
 int getRowCount()
           
 java.lang.Number getSum(java.lang.String property)
           
 int getTotalSize()
          Total count of objects represented by this table model.
 java.lang.Object getValueAt(int rowIndex, int columnIndex)
           
 void invariant()
          Verify object invariant.
 boolean isCellEditable(int rowIndex, int columnIndex)
           
 boolean isTranslateHeading()
          If true tries to translate the heading.
 void refresh()
          Refresh data from datasource.
 void removeAllRows()
           
 void removeTableModelListener(javax.swing.event.TableModelListener l)
           
 void setColumnsClasses(java.lang.String[] columnsClasses)
           
 void setEntityTab(IEntityTabImpl entityTab)
           
 void setHeading(java.lang.String[] heading)
           
 void setPKIndexes(int[] indicesPK)
          Indexes of columns that contains the primary key.
 void setPropertiesNames(java.util.List propertiesNames)
           
 void setTranslateHeading(boolean b)
           
 void setValueAt(java.lang.Object aValue, int rowIndex, int columnIndex)
           
 java.lang.String toString()
          Return TablaModelBean> Rows: x, Columns: x.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TableModelBean

public TableModelBean()
Method Detail

addTableModelListener

public void addTableModelListener(javax.swing.event.TableModelListener l)
Specified by:
addTableModelListener in interface javax.swing.table.TableModel

getHeading

public java.lang.String[] getHeading()

getColumnsClasses

public java.lang.String[] getColumnsClasses()

getColumnClass

public java.lang.Class getColumnClass(int columnIndex)
Specified by:
getColumnClass in interface javax.swing.table.TableModel

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

getEntityTab

public IEntityTabImpl getEntityTab()

getPKIndexes

public int[] getPKIndexes()
Indexes of columns that contains the primary key.
Primary key is used for create the object associated to row.


getObjectAt

public java.lang.Object getObjectAt(int rowIndex)
                             throws FinderException
Description copied from interface: IObjectTableModel
Return the object associated to indicated row.

Specified by:
getObjectAt in interface IObjectTableModel
Specified by:
getObjectAt in interface IXTableModel
Throws:
FinderException

getRowCount

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

getValueAt

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

invariant

public void invariant()
               throws java.lang.IllegalStateException
Verify object invariant.
Invariant:

Throws:
java.lang.IllegalStateException - If invariant is broken

isCellEditable

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

refresh

public void refresh()
Description copied from interface: IRefreshTableModel
Refresh data from datasource.

Specified by:
refresh in interface IRefreshTableModel
Specified by:
refresh in interface IXTableModel

removeAllRows

public void removeAllRows()
Specified by:
removeAllRows in interface IXTableModel

removeTableModelListener

public void removeTableModelListener(javax.swing.event.TableModelListener l)
Specified by:
removeTableModelListener in interface javax.swing.table.TableModel

setHeading

public void setHeading(java.lang.String[] heading)

setColumnsClasses

public void setColumnsClasses(java.lang.String[] columnsClasses)

setEntityTab

public void setEntityTab(IEntityTabImpl entityTab)

setPKIndexes

public void setPKIndexes(int[] indicesPK)
Indexes of columns that contains the primary key.
Primary key is used for create the object associated to row.


setValueAt

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

toString

public java.lang.String toString()
Return TablaModelBean> Rows: x, Columns: x.

Overrides:
toString in class java.lang.Object

getTotalSize

public int getTotalSize()
                 throws java.rmi.RemoteException
Description copied from interface: IXTableModel
Total count of objects represented by this table model.

Cantidad de objetos total representados por el table model.

getRowCount() in another side, return the loaded objects count, not total.

Specified by:
getTotalSize in interface IXTableModel
Throws:
java.rmi.RemoteException

getSum

public java.lang.Number getSum(java.lang.String property)
                        throws java.rmi.RemoteException
Specified by:
getSum in interface IXTableModel
Throws:
java.rmi.RemoteException

isTranslateHeading

public boolean isTranslateHeading()
If true tries to translate the heading.

If a dot is found in heading label assume resourceFile.nombreId.
For example, if the label is MyAplicationResources.plazo then find in MyAplicationResources resource bundle the identifier plazo.
If no dot the take the label as is.
Of course, if this properti is false do nothing.
By default is true


setTranslateHeading

public void setTranslateHeading(boolean b)

setPropertiesNames

public void setPropertiesNames(java.util.List propertiesNames)

getPropertiesNames

public java.util.List getPropertiesNames()