001 package data.events;
002
003 import java.util.*;
004
005 /**
006 * Listener listening for StockChangeEvents.
007 *
008 * @author Steffen Zschaler
009 * @version 2.0 19/08/1999
010 * @since v2.0
011 */
012 public interface StockChangeListener extends EventListener {
013
014 /**
015 * Called whenever StockItems were added to the Stock.
016 *
017 * @override Always
018 *
019 * @param e an event object describing the event.
020 */
021 public void addedStockItems(StockChangeEvent e);
022
023 /**
024 * Called whenever the adding of StockItems was commited.
025 *
026 * @override Always
027 *
028 * @param e an event object describing the event.
029 */
030 public void commitAddStockItems(StockChangeEvent e);
031
032 /**
033 * Called whenever the adding of StockItems was rolled back.
034 *
035 * @override Always
036 *
037 * @param e an event object describing the event.
038 */
039 public void rollbackAddStockItems(StockChangeEvent e);
040
041 /**
042 * Called to ask whether certain StockItems may be removed. If one of the listeners vetos the removal, all
043 * listeners that had already been asked will receive a {@link #noRemoveStockItems noRemoveStockItems}
044 * event.
045 *
046 * @override Always
047 *
048 * @param e an event object describing the event.
049 *
050 * @exception VetoException if the listener wants to veto the removal.
051 */
052 public void canRemoveStockItems(StockChangeEvent e) throws VetoException;
053
054 /**
055 * Called for each listener that already agreed with a removal that was then rejected by another listener.
056 *
057 * @override Always
058 *
059 * @param e an event object describing the event.
060 */
061 public void noRemoveStockItems(StockChangeEvent e);
062
063 /**
064 * Called whenever StockItems were removed from the Stock.
065 *
066 * @override Always
067 *
068 * @param e an event object describing the event.
069 */
070 public void removedStockItems(StockChangeEvent e);
071
072 /**
073 * Called whenever the removal of StockItems was commited.
074 *
075 * @override Always
076 *
077 * @param e an event object describing the event.
078 */
079 public void commitRemoveStockItems(StockChangeEvent e);
080
081 /**
082 * Called whenever the removal of StockItems was rolled back.
083 *
084 * @override Always
085 *
086 * @param e an event object describing the event.
087 */
088 public void rollbackRemoveStockItems(StockChangeEvent e);
089
090 /**
091 * Called to ask whether certain StockItems may be edited. If one of the listeners vetos the editing, all
092 * listeners that had already been asked will receive a {@link #noEditStockItems noEditStockItems}
093 * event.
094 *
095 * @override Always
096 *
097 * @param e an event object describing the event.
098 *
099 * @exception VetoException if the listener wants to veto the editing.
100 */
101 public void canEditStockItems(StockChangeEvent e) throws VetoException;
102
103 /**
104 * Called for each listener that already agreed with an editing that was then rejected by another listener.
105 *
106 * @override Always
107 *
108 * @param e an event object describing the event.
109 */
110 public void noEditStockItems(StockChangeEvent e);
111
112 /**
113 * Called whenever the Stock began editing StockItems. This event may be accompanied by a
114 * <code>removedStockItems</code> and a <code>addedStockItems</code> event, but this is implementation
115 * specific.
116 *
117 * @override Always
118 *
119 * @param e an event object describing the event.
120 */
121 public void editingStockItems(StockChangeEvent e);
122
123 /**
124 * Called whenever the editing of StockItems was commited.
125 *
126 * @override Always
127 *
128 * @param e an event object describing the event.
129 */
130 public void commitEditStockItems(StockChangeEvent e);
131
132 /**
133 * Called whenever the editing of StockItems was rolled back.
134 *
135 * @override Always
136 *
137 * @param e an event object describing the event.
138 */
139 public void rollbackEditStockItems(StockChangeEvent e);
140 }