001    package data;
002    
003    import data.events.CatalogChangeListener;
004    
005    /**
006     * A Catalog that fires 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 ListenableCatalog extends Catalog {
013    
014        /**
015         * Add a listener that will be informed about changes to the Catalog's contents.
016         *
017         * @override Always
018         *
019         * @param ccl the listener to be added.
020         */
021        public void addCatalogChangeListener(CatalogChangeListener ccl);
022    
023        /**
024         * Remove a listener that was informed about changes to the Catalog's contents.
025         *
026         * @override Always
027         *
028         * @param ccl the listener to be removed.
029         */
030        public void removeCatalogChangeListener(CatalogChangeListener ccl);
031    }