001 package data.events;
002
003 import java.util.*;
004
005 import data.*;
006
007 /**
008 * <i>Abstract</i> super class of all events indicating changes in a Stock's contents.
009 *
010 * <p>The concrete implementations depend on the concrete implementations of the Stock interface.</p>
011 *
012 * @author Steffen Zschaler
013 * @version 2.0 19/08/1999
014 * @since v2.0
015 */
016 public abstract class StockChangeEvent extends EventObject {
017
018 /**
019 * The DataBasket that was used to perform the operation.
020 *
021 * @serial
022 */
023 private DataBasket m_dbBasket;
024
025 /**
026 * Create a new StockChangeEvent.
027 *
028 * @param lstSource the Stock that triggers the event.
029 * @param dbBasket the basket used for the operation.
030 */
031 public StockChangeEvent(ListenableStock lstSource, DataBasket dbBasket) {
032 super(lstSource);
033
034 m_dbBasket = dbBasket;
035 }
036
037 /**
038 * Get the name of the items that are affected by the event.
039 *
040 * @override Always
041 */
042 public abstract String getAffectedKey();
043
044 /**
045 * Count the items affected by this event.
046 *
047 * @override Always
048 */
049 public abstract int countAffectedItems();
050
051 /**
052 * Get the items that are affected by the event.
053 *
054 * @override Always
055 */
056 public abstract Iterator getAffectedItems();
057
058 /**
059 * Get the DataBasket used for the operation.
060 *
061 * @override Never
062 */
063 public DataBasket getBasket() {
064 return m_dbBasket;
065 }
066 }