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