SOURCECODE |
How to... incorporate a StoringStockFilter on a StoringStock
Description:
A StoringStockFilter is a StoringStock itself, in which defined elements are filtered.
(See also: HowTo..incorporate a StoringStock on a Catalog, HowTo..define a StockItem )
This StoringStockFilter could be used in the same way as a normal StoringStock.
ToDo's:
- Incorporate a subclass of abstract StoringStockFilter.
- Add constructors to set the Filters name and attributes.
- Implement
public boolean contains(StockItem si, DataBasket db)
.
(This method determines for each StockItem, whether it will be in the StoringStockFilter or not.)
- Implement
public Object clone()
.
- Make an instance of your StoringStockFilter, where it is to be used.
(Ex.: MyStoringStockFilter mssf = new MyStoringStockFilter(StoringStock ssToBeFiltered)
)
Use it instead of the source stock, where you only want the unfiltered items.
Uses:
StoringStockFilter StoringStock StockItem
// mainly imports
import data.filters.StoringStockFilter;
import data.DataBasket;
import data.StockItem;
import data.StoringStock;
1
// Main Class
public class MyStoringStockFilter extends StoringStockFilter
{
2
// Constructor
public MyStoringStockFilter (StoringStock ssSource)
{
super(ssSource);
}
3
// this is the core method, in which the filter gets its characteristic
public boolean contains(StockItem si, DataBasket db)
{
if (si.getName().equals("Item which is unfiltered"))
return true;
else
return false;
}
4
// clone()-method is abstract in AbstractStockFilter
// and has to be implemented
public Object clone()
{
MyStoringStockFilter mssf =
new MyStoringStockFilter((StoringStock)m_stSource.clone());
return mssf;
}
}