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<T extends CatalogItem> extends Catalog<T> { 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 }