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    }