org.tbee.swing.jpa
Class AbstractJpaTableModelForEdit<MasterE,DetailE>

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by org.tbee.swing.table.AbstractTableModelForEdit
          extended by org.tbee.swing.jpa.AbstractJpaTableModelForEdit<MasterE,DetailE>
All Implemented Interfaces:
java.beans.PropertyChangeListener, java.io.Serializable, java.util.EventListener, javax.swing.table.TableModel, TableModelForEdit

public abstract class AbstractJpaTableModelForEdit<MasterE,DetailE>
extends AbstractTableModelForEdit
implements java.beans.PropertyChangeListener

setValue, addRowAt and deleteRowAt must execute: setChanged(true);

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

Field Summary
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Constructor Summary
AbstractJpaTableModelForEdit(MasterE master)
           
 
Method Summary
protected abstract  void acceptDetailEntity(DetailE detailEntity)
           
 void acceptPendingEntity()
          Make sure the pending entity is accepted Maybe be called at all times (even if it is already accepted)
 void acceptPendingEntityIfIdenticalTo(DetailE detailEntity)
          If this is the pending entity, accept it
 void addAll(java.util.List<DetailE> details)
          add collection
 int addRowAt(int rowIndex)
           
 java.lang.String clearErrorFor(int rowIndex, int columnIndex)
           
 java.lang.String clearWarningFor(int rowIndex, int columnIndex)
           
 void deleteRowAt(int pRowIndex)
           
abstract  DetailE getDetail(int idx)
          Return the detail object of the specified row
protected abstract  int getDetailCollectionSize()
           
protected  DetailE getDetailInternal(int idx)
           
 java.lang.String getErrorFor(int rowIndex, int columnIndex)
           
 java.lang.String getErrorMessageAt(int rowIndex, int columnIndex)
           
 MasterE getMaster()
          set the master we're using
 DetailE getPendingDetailEntity()
           
 int getRowCount()
           
 java.lang.String getWarningFor(int rowIndex, int columnIndex)
           
 java.lang.String getWarnMessageAt(int rowIndex, int columnIndex)
           
protected abstract  DetailE newDetail()
           
 void propertyChange(java.beans.PropertyChangeEvent evt)
          Any change to the pending entity will add it to the master's collection
 void removeAll(java.util.List<DetailE> details)
          remove collection
protected abstract  void removeDetail(DetailE detailEntity, boolean isPending)
           
 java.lang.String setErrorFor(int rowIndex, int columnIndex, java.lang.String msg)
           
 java.lang.String setErrorFor(int rowIndex, int columnIndex, java.lang.Throwable t)
           
 void setMaster(MasterE value)
           
 void setMaster(MasterE value, boolean fireTableStructureChanged, boolean fireTableDataChanged)
           
 java.lang.String setWarningFor(int rowIndex, int columnIndex, java.lang.String msg)
           
 
Methods inherited from class org.tbee.swing.table.AbstractTableModelForEdit
fireTableCellUpdatedInvokeAndWait, fireTableCellUpdatedInvokeLater
 
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
clone, equals, finalize, 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

AbstractJpaTableModelForEdit

public AbstractJpaTableModelForEdit(MasterE master)
Method Detail

setErrorFor

public java.lang.String setErrorFor(int rowIndex,
                                    int columnIndex,
                                    java.lang.String msg)

setErrorFor

public java.lang.String setErrorFor(int rowIndex,
                                    int columnIndex,
                                    java.lang.Throwable t)

clearErrorFor

public java.lang.String clearErrorFor(int rowIndex,
                                      int columnIndex)

getErrorFor

public java.lang.String getErrorFor(int rowIndex,
                                    int columnIndex)

setWarningFor

public java.lang.String setWarningFor(int rowIndex,
                                      int columnIndex,
                                      java.lang.String msg)

clearWarningFor

public java.lang.String clearWarningFor(int rowIndex,
                                        int columnIndex)

getWarningFor

public java.lang.String getWarningFor(int rowIndex,
                                      int columnIndex)

getRowCount

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

getDetailCollectionSize

protected abstract int getDetailCollectionSize()

addRowAt

public int addRowAt(int rowIndex)
Specified by:
addRowAt in interface TableModelForEdit

newDetail

protected abstract DetailE newDetail()

deleteRowAt

public void deleteRowAt(int pRowIndex)
Specified by:
deleteRowAt in interface TableModelForEdit

removeDetail

protected abstract void removeDetail(DetailE detailEntity,
                                     boolean isPending)

getErrorMessageAt

public java.lang.String getErrorMessageAt(int rowIndex,
                                          int columnIndex)
Specified by:
getErrorMessageAt in interface TableModelForEdit
Overrides:
getErrorMessageAt in class AbstractTableModelForEdit
See Also:
javax.swing.table.TableModel#getErrorMessageAt(int, int)

getWarnMessageAt

public java.lang.String getWarnMessageAt(int rowIndex,
                                         int columnIndex)
Specified by:
getWarnMessageAt in interface TableModelForEdit
Overrides:
getWarnMessageAt in class AbstractTableModelForEdit
See Also:
javax.swing.table.TableModel#getWarnMessageAt(int, int)

propertyChange

public void propertyChange(java.beans.PropertyChangeEvent evt)
Any change to the pending entity will add it to the master's collection

Specified by:
propertyChange in interface java.beans.PropertyChangeListener

acceptPendingEntityIfIdenticalTo

public void acceptPendingEntityIfIdenticalTo(DetailE detailEntity)
If this is the pending entity, accept it


acceptPendingEntity

public void acceptPendingEntity()
Make sure the pending entity is accepted Maybe be called at all times (even if it is already accepted)


getPendingDetailEntity

public DetailE getPendingDetailEntity()

acceptDetailEntity

protected abstract void acceptDetailEntity(DetailE detailEntity)

getDetail

public abstract DetailE getDetail(int idx)
Return the detail object of the specified row


getDetailInternal

protected DetailE getDetailInternal(int idx)

getMaster

public MasterE getMaster()
set the master we're using


setMaster

public void setMaster(MasterE value)

setMaster

public void setMaster(MasterE value,
                      boolean fireTableStructureChanged,
                      boolean fireTableDataChanged)

addAll

public void addAll(java.util.List<DetailE> details)
add collection


removeAll

public void removeAll(java.util.List<DetailE> details)
remove collection



Copyright © 2010. All Rights Reserved.