org.salespointframework.desktop.models
Class DataBasketListModel

java.lang.Object
  extended by javax.swing.AbstractListModel
      extended by org.salespointframework.desktop.models.DataBasketListModel
All Implemented Interfaces:
java.io.Serializable, java.util.EventListener, javax.swing.ListModel, DataBasketListener, HelpableListener, FilterableModel

public class DataBasketListModel
extends javax.swing.AbstractListModel
implements DataBasketListener, HelpableListener, FilterableModel

ListModel for DataBaskets

Since:
4.0
Author:
Thomas Kissinger
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from interface org.salespointframework.desktop.models.FilterableModel
FilterableModel.DefaultModelFilter, FilterableModel.ModelFilter, FilterableModel.ResultCountListener
 
Field Summary
protected  boolean categorize
          true, if categories should be displayed
protected  java.util.Comparator<DataBasketEntry> cmp
          Comparator used for sorting
protected  DataBasket db
          databasket source
protected  DataBasketCondition dbc
          filter condition
protected  DataBasketEntryGrouper dbeg
          entry grouprt
protected  Category defaultCategory
          category used for items without category
protected  java.util.List<java.lang.Object> items
          list of items
protected  FilterableModel.ModelFilter modelFilter
          model filter
protected  java.util.List<FilterableModel.ResultCountListener> resultCountListeners
          ResultCountListener list
 
Fields inherited from class javax.swing.AbstractListModel
listenerList
 
Constructor Summary
DataBasketListModel(DataBasket db, DataBasketCondition dbc, java.util.Comparator<DataBasketEntry> cmp)
          constrcutor
DataBasketListModel(DataBasket db, DataBasketCondition dbc, java.util.Comparator<DataBasketEntry> cmp, boolean categorize, Category defaultCategory, DataBasketEntryGrouper dbeg)
          constructor
 
Method Summary
 void addedDBE(DataBasketEvent e)
          Called when a DataBasketEntry was added to the DataBasket.
 boolean addResultCountListener(FilterableModel.ResultCountListener rcs)
          add ResultCountListener
 void dataBasketChanged(DataBasketEvent e)
          Called when the DataBasket changed in a manner too complex for the two other types of events.
 void filterPropertyChanged()
          apply new filter an reload items
 void fireResultCountChanged(int count)
          trigger result count changed event.
 java.lang.Object getElementAt(int index)
          get element at index
 int getSize()
          get list size
 void removedDBE(DataBasketEvent e)
          Called when a DataBasketEntry was removed from the DataBasket.
 void removeResultCountListener(FilterableModel.ResultCountListener rcs)
          remove ResultCountListener
 void setModelFilter(FilterableModel.ModelFilter modelFilter)
          set new filter and reload items
 void subscribe()
          Called when the listener should subscribe to its own event source.
 void unsubscribe()
          Called when the listener should unsubscribe from its own event source.
 void updateModel()
          apply filters, sort and categorize
 
Methods inherited from class javax.swing.AbstractListModel
addListDataListener, fireContentsChanged, fireIntervalAdded, fireIntervalRemoved, getListDataListeners, getListeners, removeListDataListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

db

protected DataBasket db
databasket source


dbc

protected DataBasketCondition dbc
filter condition


dbeg

protected DataBasketEntryGrouper dbeg
entry grouprt


cmp

protected java.util.Comparator<DataBasketEntry> cmp
Comparator used for sorting


categorize

protected boolean categorize
true, if categories should be displayed


defaultCategory

protected Category defaultCategory
category used for items without category


items

protected java.util.List<java.lang.Object> items
list of items


modelFilter

protected FilterableModel.ModelFilter modelFilter
model filter


resultCountListeners

protected java.util.List<FilterableModel.ResultCountListener> resultCountListeners
ResultCountListener list

Constructor Detail

DataBasketListModel

public DataBasketListModel(DataBasket db,
                           DataBasketCondition dbc,
                           java.util.Comparator<DataBasketEntry> cmp)
constrcutor

Parameters:
db - {@link #db]
dbc - dbc
cmp - cmp. null for default.

DataBasketListModel

public DataBasketListModel(DataBasket db,
                           DataBasketCondition dbc,
                           java.util.Comparator<DataBasketEntry> cmp,
                           boolean categorize,
                           Category defaultCategory,
                           DataBasketEntryGrouper dbeg)
constructor

Parameters:
db - db
dbc - dbc
cmp - cmp. null for default.
categorize - categorize
defaultCategory - defaultCategory. null for default.
Method Detail

getElementAt

public java.lang.Object getElementAt(int index)
get element at index

Specified by:
getElementAt in interface javax.swing.ListModel

getSize

public int getSize()
get list size

Specified by:
getSize in interface javax.swing.ListModel

addedDBE

public void addedDBE(DataBasketEvent e)
Description copied from interface: DataBasketListener
Called when a DataBasketEntry was added to the DataBasket.

Specified by:
addedDBE in interface DataBasketListener
Parameters:
e - an event object that describes the event.
See Also:
DataBasketTableModel.addedDBE(DataBasketEvent)

dataBasketChanged

public void dataBasketChanged(DataBasketEvent e)
Description copied from interface: DataBasketListener
Called when the DataBasket changed in a manner too complex for the two other types of events.

Specified by:
dataBasketChanged in interface DataBasketListener
Parameters:
e - an event object that describes the event. (e.getAffectedEntry() == null!)
See Also:
DataBasketTableModel.dataBasketChanged(DataBasketEvent)

removedDBE

public void removedDBE(DataBasketEvent e)
Description copied from interface: DataBasketListener
Called when a DataBasketEntry was removed from the DataBasket.

Specified by:
removedDBE in interface DataBasketListener
Parameters:
e - an event object that describes the event.
See Also:
DataBasketTableModel.removedDBE(DataBasketEvent)

subscribe

public void subscribe()
Description copied from interface: HelpableListener
Called when the listener should subscribe to its own event source.

Specified by:
subscribe in interface HelpableListener
See Also:
DataBasketTableModel.subscribe()

unsubscribe

public void unsubscribe()
Description copied from interface: HelpableListener
Called when the listener should unsubscribe from its own event source.

Specified by:
unsubscribe in interface HelpableListener
See Also:
DataBasketTableModel.unsubscribe()

updateModel

public void updateModel()
apply filters, sort and categorize

Specified by:
updateModel in interface HelpableListener

fireResultCountChanged

public void fireResultCountChanged(int count)
trigger result count changed event.

Parameters:
count - new count

addResultCountListener

public boolean addResultCountListener(FilterableModel.ResultCountListener rcs)
add ResultCountListener

Specified by:
addResultCountListener in interface FilterableModel
Returns:
true, on success

filterPropertyChanged

public void filterPropertyChanged()
apply new filter an reload items

Specified by:
filterPropertyChanged in interface FilterableModel

removeResultCountListener

public void removeResultCountListener(FilterableModel.ResultCountListener rcs)
remove ResultCountListener

Specified by:
removeResultCountListener in interface FilterableModel

setModelFilter

public void setModelFilter(FilterableModel.ModelFilter modelFilter)
set new filter and reload items

Specified by:
setModelFilter in interface FilterableModel
Parameters:
modelFilter - new model filter