001 package data.events; 002 003 import util.SerializableListener; 004 005 /** 006 * An <i>abstract</i> adapter class for receiving catalog change events. The methods in this class are empty. 007 * This class exists as convenience for creating listener objects. 008 * 009 * <p>Extend this class to create a CatalogChangeEvent listener and override the methods for the events of 010 * interest. (If you implement the CatalogChangeListener interface, you have to define all of the methods in 011 * it. This abstract class defines empty method bodies for them all, so you can concentrate on defining 012 * methods only for events you care about.)</p> 013 * 014 * <p>Create a listener object using the extended class and then register it with a ListenableCatalog using 015 * the Catalog's {@link data.ListenableCatalog#addCatalogChangeListener} method. When the Catalog's contents 016 * change, the relevant method in the listener object is invoked, and a {@link CatalogChangeEvent} is passed 017 * to it.</p> 018 * 019 * @author Steffen Zschaler 020 * @version 2.0 19/08/1999 021 * @since v2.0 022 */ 023 public abstract class CatalogChangeAdapter extends Object implements CatalogChangeListener, 024 SerializableListener { 025 026 /** 027 * Called whenever a CatalogItem was added to the Catalog. 028 * 029 * @override Sometimes 030 * 031 * @param e an event object describing the event. 032 */ 033 public void addedCatalogItem(CatalogChangeEvent e) {} 034 035 /** 036 * Called whenever the adding of a CatalogItem was commited. 037 * 038 * @override Sometimes 039 * 040 * @param e an event object describing the event. 041 */ 042 public void commitedAddCatalogItem(CatalogChangeEvent e) {} 043 044 /** 045 * Called whenever the adding of a CatalogItem was rolled back. 046 * 047 * @override Sometimes 048 * 049 * @param e an event object describing the event. 050 */ 051 public void rolledbackAddCatalogItem(CatalogChangeEvent e) {} 052 053 /** 054 * Called to ask whether a CatalogItem may be removed. If one of the listeners vetos the removal, all 055 * listeners that had already been asked will receive a {@link #noRemoveCatalogItem noRemoveCatalogItem} 056 * event. 057 * 058 * @override Sometimes 059 * 060 * @param e an event object describing the event. 061 * 062 * @exception VetoException if the listener wants to veto the removal. 063 */ 064 public void canRemoveCatalogItem(CatalogChangeEvent e) throws VetoException {} 065 066 /** 067 * Called for each listener that already agreed with a removal that was then rejected by another listener. 068 * 069 * @override Sometimes 070 * 071 * @param e an event object describing the event. 072 */ 073 public void noRemoveCatalogItem(CatalogChangeEvent e) {} 074 075 /** 076 * Called whenever a CatalogItem was removed from the Catalog. 077 * 078 * @override Sometimes 079 * 080 * @param e an event object describing the event. 081 */ 082 public void removedCatalogItem(CatalogChangeEvent e) {} 083 084 /** 085 * Called whenever the removal of a CatalogItem was commited. 086 * 087 * @override Sometimes 088 * 089 * @param e an event object describing the event. 090 */ 091 public void commitedRemoveCatalogItem(CatalogChangeEvent e) {} 092 093 /** 094 * Called whenever the removal of a CatalogItem was rolled back. 095 * 096 * @override Sometimes 097 * 098 * @param e an event object describing the event. 099 */ 100 public void rolledbackRemoveCatalogItem(CatalogChangeEvent e) {} 101 102 /** 103 * Called to ask whether a CatalogItem may be edited. If one of the listeners vetos the editing, all 104 * steners that had already been asked will receive a {@link #noEditCatalogItem noEditCatalogItem} event. 105 * 106 * @override Sometimes 107 * 108 * @param e an event object describing the event. 109 * 110 * @exception VetoException if the listener wants to veto the editing. 111 */ 112 public void canEditCatalogItem(CatalogChangeEvent e) throws VetoException {} 113 114 /** 115 * Called for each listener that already agreed with an editing that was then rejected by another listener. 116 * 117 * @override Sometimes 118 * 119 * @param e an event object describing the event. 120 */ 121 public void noEditCatalogItem(CatalogChangeEvent e) {} 122 123 /** 124 * Called whenever editing a CatalogItem was started. This event may be accompanied by a 125 * <code>removedCatalogItem</code> and a <code>addedCatalogItem</code> event, but this is implementation 126 * specific. 127 * 128 * @override Sometimes 129 * 130 * @param e an event object describing the event. 131 */ 132 public void editingCatalogItem(CatalogChangeEvent e) {} 133 134 /** 135 * Called whenever editing a CatalogItem was commited. 136 * 137 * @override Sometimes 138 * 139 * @param e an event object describing the event. 140 */ 141 public void commitEditCatalogItem(CatalogChangeEvent e) {} 142 143 /** 144 * Called whenever editing a CatalogItem was rolled back. 145 * 146 * @override Sometimes 147 * 148 * @param e an event object describing the event. 149 */ 150 public void rollbackEditCatalogItem(CatalogChangeEvent e) {} 151 }