001 package data;
002
003 import data.events.DataBasketListener;
004
005 /**
006 * A DataBasket 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 ListenableDataBasket extends DataBasket {
013
014 /**
015 * Add a listener that will be informed about changes to the DataBasket's contents.
016 *
017 * @override Always
018 *
019 * @param dbl the listener.
020 */
021 public void addDataBasketListener(DataBasketListener dbl);
022
023 /**
024 * Remove a listener that was being informed about changes to the DataBasket's contents.
025 *
026 * @override Always
027 *
028 * @param dbl the listener.
029 */
030 public void removeDataBasketListener(DataBasketListener dbl);
031
032 /**
033 * Fire an event to inform listeners about some unspecific change to the DataBasket's contents.
034 *
035 * <p>This method is necessary as there may be changes that are made without calling methods in the
036 * DataBasket. In such cases a call to this method will be necessary to keep the listeners informed.</p>
037 *
038 * @override Always
039 *
040 * @param dbl the listener.
041 */
042 public void fireDataBasketChanged();
043 }