SalesPoint v3.3 API

data.filters
Class CountingStockFilter<T extends StockItem,CT extends CatalogItem>

java.lang.Object
  extended by data.filters.AbstractStockFilter<T,CT>
      extended by data.filters.CountingStockFilter<T,CT>
All Implemented Interfaces:
CountingStock<T,CT>, DataBasketEntryDestination, DataBasketEntrySource, StockChangeListener<T,CT>, ListenableStock<T,CT>, Nameable, Stock<T,CT>, StockItem, Serializable, Cloneable, Comparable<Object>, EventListener
Direct Known Subclasses:
MoneyBagFilter

public abstract class CountingStockFilter<T extends StockItem,CT extends CatalogItem>
extends AbstractStockFilter<T,CT>
implements CountingStock<T,CT>

StockFilter for CountingStocks.

The filter condition will be defined by overriding method countItems(java.lang.String, data.DataBasket).

Since:
v2.0
Author:
Steffen Zschaler
See Also:
Serialized Form

Field Summary
 
Fields inherited from class data.filters.AbstractStockFilter
m_lhListeners, m_stSource
 
Fields inherited from interface data.Nameable
NAME_PROPERTY
 
Constructor Summary
CountingStockFilter(CountingStock<T,CT> csSource)
          Create a new CountingStockFilter.
 
Method Summary
 void add(String sKey, int nCount, DataBasket db)
          Add the specified number of items to the source Stock.
 boolean contains(T si, DataBasket db)
          Check whether the filtered Stock contains the given StockItem.
 boolean containsStock(Stock<T,CT> st, DataBasket db)
          Check whether the filtered Stock contains the given Stock.
abstract  int countItems(String sKey, DataBasket db)
          Count the items of the given key in the filtered Stock.
 Iterator<T> get(String sKey, DataBasket db, boolean fForEdit)
          Return all items with the given key that are contained in the filtered Stock.
 void remove(String sKey, int nCount, DataBasket db)
          Remove at most the specified number of items from the source Stock.
 
Methods inherited from class data.filters.AbstractStockFilter
add, addedStockItems, addNameListener, addPropertyChangeListener, addStock, addStockChangeListener, attach, canEditStockItems, canRemoveStockItems, clone, commitAddStockItems, commitEditStockItems, commitRemoveStockItems, compareTo, contains, detachNC, editingStockItems, fillStockWithValue, fireCanEditStockItems, fireCanRemoveStockItems, fireEditingStockItems, fireStockItemsAddCommit, fireStockItemsAdded, fireStockItemsAddRollback, fireStockItemsEditCommit, fireStockItemsEditRollback, fireStockItemsNoEdit, fireStockItemsNoRemove, fireStockItemsRemoveCommit, fireStockItemsRemoved, fireStockItemsRemoveRollback, getAssociatedItem, getCatalog, getMainStock, getName, getStock, iterator, keySet, noEditStockItems, noRemoveStockItems, remove, remove, removedStockItems, removeNameListener, removePropertyChangeListener, removeStockChangeListener, rollbackAddStockItems, rollbackEditStockItems, rollbackRemoveStockItems, setName, size, sumStock
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface data.Stock
add, addStock, contains, fillStockWithValue, getCatalog, iterator, keySet, remove, remove, size, sumStock
 
Methods inherited from interface data.StockItem
clone, getAssociatedItem, getStock
 
Methods inherited from interface java.lang.Comparable
compareTo
 
Methods inherited from interface data.Nameable
addNameListener, addPropertyChangeListener, attach, detachNC, getName, removeNameListener, removePropertyChangeListener, setName
 

Constructor Detail

CountingStockFilter

public CountingStockFilter(CountingStock<T,CT> csSource)
Create a new CountingStockFilter.

Parameters:
csSource - the source Stock.
Method Detail

get

public Iterator<T> get(String sKey,
                       DataBasket db,
                       boolean fForEdit)
Return all items with the given key that are contained in the filtered Stock.

Specified by:
get in interface Stock<T extends StockItem,CT extends CatalogItem>
Parameters:
sKey - the key for which to retrieve the StockItems.
db - the DataBasket relative to which to retrieve the StockItems.
fForEdit - if true, the StockItems will be retrieved for editing.
Override:
Never

countItems

public abstract int countItems(String sKey,
                               DataBasket db)
Count the items of the given key in the filtered Stock.

This method must be overridden, as it represents the filter condition. All other methods that use or return filtered values will call this method.

Specified by:
countItems in interface Stock<T extends StockItem,CT extends CatalogItem>
Parameters:
sKey - the key for which to count the StockItems.
db - the DataBasket that is used to determine visibility.
Override:
Always This method must be overridden, as it represents the filter condition. All other methods that use or return filtered values will call this method.

contains

public boolean contains(T si,
                        DataBasket db)
Check whether the filtered Stock contains the given StockItem.

Specified by:
contains in interface Stock<T extends StockItem,CT extends CatalogItem>
Parameters:
si - the StockItem for which to check containment.
db - the DataBasket used to check visibility.
Override:
Never

containsStock

public boolean containsStock(Stock<T,CT> st,
                             DataBasket db)
Check whether the filtered Stock contains the given Stock.

Specified by:
containsStock in interface Stock<T extends StockItem,CT extends CatalogItem>
Parameters:
st - the Stock for which to check containment.
db - the DataBasket used to determine visibility.
Override:
Never

add

public void add(String sKey,
                int nCount,
                DataBasket db)
Add the specified number of items to the source Stock.

Specified by:
add in interface CountingStock<T extends StockItem,CT extends CatalogItem>
Parameters:
sKey - the key for which to add a number of items.
nCount - how many items are to be added?
db - the DataBasket relative to which the adding is performed.
Override:
Never

remove

public void remove(String sKey,
                   int nCount,
                   DataBasket db)
            throws VetoException
Remove at most the specified number of items from the source Stock. If the filtered Stock contains fewer items than specified only as many items as are contained in the filtered Stock will be removed from the source Stock.

Specified by:
remove in interface CountingStock<T extends StockItem,CT extends CatalogItem>
Parameters:
sKey - the key for which to remove a number of items.
nCount - how many items are to be removed?
db - the DataBasket relative to which the removal is performed.
Throws:
VetoException - if a listener vetos the removal.
Override:
Never

SalesPoint v3.3 API