001 package data; 002 003 import data.events.StockChangeListener; 004 005 /** 006 * A Stock that will fire events to inform about changes to its contents. 007 * 008 * @author Steffen Zschaler 009 * @version 2.0 18/08/1999 010 * @since v2.0 011 */ 012 public interface ListenableStock<T extends StockItem, CT extends CatalogItem> extends Stock<T, CT> { 013 014 /** 015 * Add a listener that will be informed about changes to the Stock's contents. 016 * 017 * @override Always 018 * 019 * @param scl the listener 020 */ 021 public void addStockChangeListener(StockChangeListener scl); 022 023 /** 024 * Remove a listener that was being informed about changes to the Stock's contents. 025 * 026 * @override Always 027 * 028 * @param scl the listener 029 */ 030 public void removeStockChangeListener(StockChangeListener scl); 031 }