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:
  1. Incorporate a subclass of abstract StoringStockFilter.
  2. Add constructors to set the Filters name and attributes.
  3. Implement public boolean contains(StockItem si, DataBasket db).
    (This method determines for each StockItem, whether it will be in the StoringStockFilter or not.)
  4. Implement public Object clone().
  5. 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  



SourceCode

// 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;
      }
   }